diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..8b70c827d4a50d20e4004805b40cbf27177f616a --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +.venv/ +.venv-coreml/ +__pycache__/ +.pytest_cache/ +.ruff_cache/ +build/ +dist/ +*.egg-info/ +.DS_Store +models/ +cache/ +outputs/ +*.metaltrace +.release/ diff --git a/BENCHMARKS.md b/BENCHMARKS.md new file mode 100644 index 0000000000000000000000000000000000000000..8eaf171c3144a755eecf5979c6148883f764079e --- /dev/null +++ b/BENCHMARKS.md @@ -0,0 +1,47 @@ +# Measurements and their scope + +These are recorded local measurements, not a comparison with CUDA or a +promise for another Mac. Test machine: **Apple M5 Pro, 16 GPU cores, 64 GiB, +macOS 27.0.1, MLX 0.32.4**. The default retains BF16 transformer weights, +FP32 precision islands, dense attention, all six PDD heads and BF16 VAE +arithmetic following the inspected source path. + +| Storage | Paired warm control | Tuned warm latency | Reduction | Maximum sampled parent footprint across four candidate cases | +|---|---:|---:|---:|---:| +| Dense BF16 | 65.83 s | 62.49 s | 5.07% | 40.50 GiB | +| Lossless packed BF16 | 66.42 s | 64.05 s | 3.57% | 32.56 GiB | + +Latencies are equal-weight geometric means of product and portrait medians, +three alternating paired repeats per case, 2048 × 2048. Conditioning is cached +and model weights are resident. Trace and PNG save are included; interpreter +startup, downloads and external image scoring are excluded. First-load runs +are retained separately. Each storage mode has its own paired campaign: +these numbers do not isolate the speed effect of compression. + +The four quality cases include product, portrait, fine detail and one +reference-image edit. Within the recorded exact-tuning campaigns, every +output pixel and saved denoising tensor agrees with its matched control. +This establishes agreement with the stated MLX reference on these cases, +not CUDA byte identity, ground-truth image quality or general superiority. + +Physical footprint is sampled every 100 ms for the parent process and can +miss short peaks. It includes Metal, excludes compiler XPC services, and is +different from MLX allocator counters. Do not add overlapping counters. These +measurements do not establish a minimum supported Mac memory capacity. + +**Q8/Q4 change images.** Historical trials include lettering and detail drift; +quantization was sometimes slower at real token counts. No speed claim or +quality ranking is made for the new downloadable packaging. Fewer-step +previews and the experimental Core ML/ANE decoder are not model variants in +this release. ANE decoder artifacts are documented, not promoted as a feature. + +- [Full exact-tuning report](reports/optimization-r3/RESULTS.md) +- [Dense receipt and pixel/tensor audit](reports/optimization-r3/qk-deployment/quality-audit.json) +- [Packed receipt and audit](reports/optimization-r3/compact-deployment/quality-audit.json) +- [Historical precision and backend comparisons](reports/optimization-v2/RESULTS.md) +- [Native / Q8 / Q4 image comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png) +- [Fresh release validation](docs/VALIDATION.md) + +The provenance files pin upstream sources and record the inspected source +hashes. Packaging tests and fresh portable-weight inference are reported +separately from historical performance measurements. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9c422689c8f5c317c7c65153b1209349ec57007e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023-2024 SGLang Team + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/LICENSE-model b/LICENSE-model new file mode 100644 index 0000000000000000000000000000000000000000..3606b98f493e7c63efb79fc0ccdef88a278a8dfc --- /dev/null +++ b/LICENSE-model @@ -0,0 +1,84 @@ +MiniMax-H3-Image COMMUNITY LICENSE AGREEMENT +MiniMax-H3-Image release date/License date: November 10, 2026. +The scope of this License Agreement (this “Agreement”) is expressly limited to the “Applicable Territory” as defined below. +By clicking to accept, or by using, reproducing, modifying, distributing, running, or displaying any portion or element of the MiniMax-H3-Image Works (including through any Hosted Service) in any manner, you acknowledge and accept the terms of this Agreement, and this Agreement shall take immediate effect upon the occurrence of such act. +I. Definitions +1. “Acceptable Use Policy” means the policy published by MiniMax in Exhibit A. +2. “Agreement” means the terms and conditions set forth herein that govern the use, reproduction, distribution, modification, running, and display of the MiniMax-H3-Image Works or any portion or element thereof. +3. “Applicable Territory” means worldwide, excluding the Excluded Territories. +4. “Documentation” means the specifications, manuals, and documentation concerning MiniMax-H3-Image that are publicly released by MiniMax. +5. “Excluded Territories” means the European Union, the United Kingdom, the Republic of Korea and the United States of America. +6. “MiniMax-H3-Image” means the image generation model, together with its software and algorithms, including trained model weights, parameters (including optimizer states), prompt-enhancement models, inference-supporting code, and other elements thereof made publicly available by Us, as released at https://huggingface.co/MiniMaxAI/MiniMax-H3-Image. +7. “MiniMax-H3-Image Works” means (i) the Materials, (ii) the Model Derivatives, and (iii) all derivatives thereof. +8. “Hosted Service” means a service through which MiniMax-H3-Image or its Model Derivatives is hosted or operated and its functionality is made available to Third Parties, including via application programming interfaces (APIs), web access, or any other electronic or remote means. +9. “Licensee,” “you,” or “your” means the natural or legal person exercising rights and/or using the MiniMax-H3-Image Works for any purpose in any field of use under this Agreement. +10. “Materials” means, collectively, MiniMax-H3-Image and the Documentation (and any portion thereof), in each case as made available by MiniMax under this Agreement and proprietary to MiniMax. +11. “Model Derivatives” means all of the following: (i) any modification of MiniMax-H3-Image or any Model Derivative thereof; (ii) any work based on MiniMax-H3-Image or any Model Derivative thereof; or (iii) any other machine learning model created by transferring the patterns of the weights, parameters, operational patterns, or Outputs of MiniMax-H3-Image or any Model Derivative thereof to another model, such that the latter model exhibits behavior similar to MiniMax-H3-Image or its Model Derivatives, including by distillation methods, methods using intermediate data representations, or methods based on training using synthetic-data Outputs generated by MiniMax-H3-Image or its Model Derivatives. For the avoidance of doubt, Outputs are not deemed Model Derivatives. +12. “Output” means any result of operating or otherwise using MiniMax-H3-Image or any Model Derivatives (including through Hosted Service). +13. “Third Party” means any natural or legal person that is not under common control with us or with you. +14. “Including” means “including but not limited to.” +15. “We,” “Us” or “MiniMax” means Nanonoble Pte. Ltd.. +II. Grant of Rights +Solely within the Applicable Territory, we grant you a non-exclusive, non-transferable, royalty-free, limited license to use, reproduce, distribute, create derivative works (including Model Derivatives), and modify the Materials in accordance with the terms of this Agreement and the Acceptable Use Policy, based on the intellectual property and other rights owned by MiniMax that are embodied in or used by the Materials. You shall not violate (or encourage or permit any person to violate) any term of this Agreement or the Acceptable Use Policy. +We will continuously evaluate the applicable laws, regulations and compliance requirements for the Excluded Territories. In the meantime, should any person in such Excluded Territories be interested in deploying our models, you are welcome to contact us about obtaining a license, which will be granted based on robust controls and guardrails for purposes of complying with the laws, regulations and compliance requirements of the Excluded Territories. +III. Distribution and Redistribution +Subject to and conditioned on your continuing compliance with this Agreement, including its territorial restrictions and the Acceptable Use Policy, and solely within the Applicable Territory, you may distribute or make available the MiniMax-H3-Image Works to Third Parties within the Applicable Territory; provided, that all of the following conditions are met: +1. You must provide a copy of this Agreement to all such Third Parties who receive the MiniMax-H3-Image Works or use your products or services related thereto; +2. You must cause any modified files to carry prominent notices stating that you have modified such files; +3. You are encouraged to: + a. display a notice on any product or service developed using MiniMax-H3-Image indicating that the product or service is “Powered by MiniMax-H3-Image”; + b. add an AI-generation identifier to files produced using generative AI models including MiniMax-H3-Image; and + c. publish at least one technical blog post or a public statement describing your experience using MiniMax-H3-Image Works; +4. All distributions to Third Parties (other than through Hosted Service) must be accompanied by a “NOTICE” text file containing the following notice: + “MiniMax-H3-Image is licensed under the MiniMax-H3-Image Community License Agreement, Copyright © 2026 MiniMax. All Rights Reserved.” +You may add your own copyright notices on your modifications; except as provided in this Section and in Section V, however, you may not impose additional or different terms and conditions on the use, reproduction, or distribution of your modifications or of any aggregate Model Derivatives, and your use, reproduction, modification, distribution, running, and display of the work must otherwise comply with the terms and conditions of this Agreement (including the provisions concerning the Applicable Territory). If you receive the MiniMax-H3-Image Works from a Licensee as part of an integrated end-user product, the provisions of Section III of this Agreement do not apply to you, but Section V and Exhibit A remain applicable. +IV. Additional Commercial Terms +1. You shall obtain a separate, prior written authorization from MiniMax by sending a request through https://platform.minimax.io/license, if the Annualized Revenue of you and/or your affiliates exceeds 1 Million USD, or, you provide Hosted Service(s) to any Third Parties. +2. You shall prominently display “MiniMax-H3-Image”on the user interface of commercial product or service that uses MiniMax-H3-Image or MiniMax-H3-Image Works. +V. Use Restrictions +1. Your use of the MiniMax-H3-Image Works must comply with applicable laws and regulations (including trade-compliance laws and regulations) and must comply with the Acceptable Use Policy for the MiniMax-H3-Image Works, which is incorporated into this Agreement by reference. +2. Before providing access to the MiniMax-H3-Image Works or any product, service, or Hosted Service incorporating them, you must bind each recipient or user to enforceable terms at least as protective as the use restrictions in this Section V and Exhibit A, and you must notify each recipient or user that those restrictions apply. +3. You may not use the MiniMax-H3-Image Works or any of their Outputs or results to improve any other artificial intelligence model (other than MiniMax-H3-Image or its Model Derivatives). +4. You may not use, reproduce, modify, distribute, or display the MiniMax-H3-Image Works or any of their Outputs or results outside the Applicable Territory. Any such use outside the Applicable Territory is not authorized by this Agreement. +5. If you provide or make available to any Third Party a product, service, or Hosted Service that permits the generation of Outputs using MiniMax-H3-Image or any Model Derivative, you must, before making that product or service available and throughout its operation, implement, maintain, test, and periodically review reasonable and proportionate technical and organizational safeguards designed to prevent and mitigate access, uses, and Outputs that violate this Section V or Exhibit A, including uses or Outputs that infringe, misappropriate, or otherwise violate any Third Party’s intellectual-property or other rights. You must not knowingly disable, materially weaken, or permit the circumvention of those safeguards. You must maintain a reasonably accessible mechanism for reporting suspected violations. Upon receiving a good-faith report or otherwise obtaining actual knowledge of a violation, you must promptly investigate and take reasonable steps within your control to stop or mitigate the violation, including removing or disabling access to offending content or services and suspending or terminating repeat violators where appropriate. You are responsible for implementing and enforcing these requirements with respect to your products, services, systems, users, and downstream recipients. +VI. Intellectual Property +1. Subject to MiniMax’s rights in the MiniMax-H3-Image Works (and the intellectual property therein), and to your compliance with the terms and conditions of this Agreement, as between you and MiniMax, you will own the derivative works and modifications of the Materials that you have created or had created, as well as any Model Derivatives. +2. Except for the limited license expressly granted in this paragraph, no trademark license is granted under this Agreement; with respect to MiniMax-H3-Image Works, the Licensee may not use any name or mark owned by or associated with MiniMax or any of its affiliates, except as reasonably and customarily necessary to describe and distribute the MiniMax-H3-Image Works. MiniMax hereby grants you a license to use the “MiniMax-H3-Image” mark (the “Mark”) within the Applicable Territory solely for the purpose of complying with Section III.3; provided, that you comply with all applicable trademark-protection laws. All goodwill arising from your use of the Mark shall inure to the benefit of MiniMax. +3. If you bring or assert any suit or other legal proceeding (including a cross-claim or counterclaim in any action) against us or any other natural or legal person alleging that the Materials, any Output, or any portion of the foregoing infringes any intellectual property right or other right owned by you or for which you can obtain a license, all licenses granted to you under this Agreement will terminate as of the date such suit or proceeding is filed. You shall defend, indemnify, and hold us harmless against any Third-Party claim arising out of or related to the use or distribution of the MiniMax-H3-Image Works by you or by any Third Party. +4. MiniMax claims no rights over the Outputs you generate. You and your users are entirely responsible for the Outputs and any subsequent use thereof. +VII. Disclaimers and Limitations of Liability +1. We have no obligation to support, update, provide training for, or develop any further version of the MiniMax-H3-Image Works, or to grant any license with respect thereto. +2. UNLESS AND ONLY TO THE EXTENT REQUIRED BY APPLICABLE LAW, THE MiniMax-H3-Image WORKS AND ANY OUTPUT AND RESULTS THEREFROM ARE PROVIDED “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND INCLUDING ANY WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, COURSE OF DEALING, USAGE OF TRADE, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING, REPRODUCING, MODIFYING, PERFORMING, DISPLAYING OR DISTRIBUTING ANY OF THE MiniMax-H3-Image WORKS OR OUTPUTS AND ASSUME ANY AND ALL RISKS ASSOCIATED WITH YOUR OR A THIRD PARTY’S USE OR DISTRIBUTION OF ANY OF THE MiniMax-H3-Image WORKS OR OUTPUTS AND YOUR EXERCISE OF RIGHTS AND PERMISSIONS UNDER THIS AGREEMENT. +3. TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MINIMAX OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, FOR ANY DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, EXEMPLARY, CONSEQUENTIAL OR PUNITIVE DAMAGES, OR LOST PROFITS OF ANY KIND ARISING FROM THIS AGREEMENT OR RELATED TO ANY OF THE MiniMax-H3-Image WORKS OR OUTPUTS, EVEN IF MINIMAX OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF ANY OF THE FOREGOING. +VIII. Term and Termination +1. This Agreement is effective from the moment you accept this Agreement or begin accessing the Materials, and, subject to your compliance with its terms and conditions, will remain in effect until terminated as provided herein. +2. If you breach any term or condition of this Agreement, we have the right to terminate this Agreement. Upon termination, you must immediately cease accessing, using, and distributing the MiniMax-H3-Image Works; delete or destroy all copies within your possession or control; and notify each downstream recipient that your authorization has ended. The obligations in the preceding sentence and Sections VI.1, VI.3, VII, and IX survive termination. +IX. Governing Law and Jurisdiction +1. This Agreement, and any dispute arising out of or related to this Agreement, shall be governed by the laws of the Hong Kong Special Administrative Region of the People’s Republic of China, without regard to its conflict-of-laws rules. The United Nations Convention on Contracts for the International Sale of Goods does not apply to this Agreement. +2. Any dispute arising out of or related to this Agreement shall be subject to the exclusive jurisdiction of the courts of the Hong Kong Special Administrative Region of the People’s Republic of China with competent jurisdiction. Both MiniMax and the Licensee hereby consent to the exclusive jurisdiction of such courts for any such dispute. +Additional Note: Please note that the text-to-image prompt enhancer model (https://huggingface.co/MiniMaxAI/MiniMax-H3-Image-PE, "T2I PE Model") of MiniMax-H3-Image is derived from Qwen3.8-27B licensed under Apache 2.0 License: https://huggingface.co/Qwen/Qwen3.8-27B. The T2I PE Model is part of MiniMax-H3-Image and is accordingly subject to this Agreement for the avoidance of doubt. + +Exhibit A — Acceptable Use Policy +MiniMax reserves the right to update this Acceptable Use Policy from time to time. +Last revised: November 10, 2026. +MiniMax is committed to promoting the safe and fair use of its tools and features, including MiniMax-H3-Image. You agree not to use MiniMax-H3-Image, any Model Derivatives, or any Output in any of the following ways: +1. Use outside the Applicable Territory; +2. Use in any manner that violates any applicable national, federal, state, local, or international law, regulation, or other legal requirement, or that infringes, misappropriates, or otherwise violates any Third Party’s intellectual-property or other proprietary rights, including through unauthorized reproduction, distribution, public display, public performance, or creation of derivative works; +3. Use in any manner that may harm yourself or others; +4. Use to repurpose or distribute the Outputs of MiniMax-H3-Image or any Model Derivatives in order to harm yourself or others; +5. Use to circumvent or bypass any safety guardrails or safeguards we have implemented; +6. Use in any manner that exploits or harms, or intends to exploit or harm, minors; +7. Use to generate or disseminate verifiably false information and/or content for the purpose of harming others or influencing elections; +8. Use to manufacture or facilitate false online engagement, including fake reviews and other means of false online engagement; +9. Use to intentionally defame, disparage, or otherwise harass others; +10. Use to generate and/or disseminate malware (including ransomware) or any other content intended to damage electronic systems; +11. Use to generate or disseminate personally identifiable information for the purpose of harming others; +12. Use to generate or disseminate information (including images, code, posts, or articles) in or to any public environment (including via bot tweets or similar means) without clearly and prominently disclosing that such information and/or content is machine-generated; +13. Use to impersonate another person without that person’s consent, authorization, or lawful right to do so; +14. Use to make high-risk automated decisions in critical domains that affect individual safety, rights, or well-being (such as law enforcement, immigration, healthcare or medical services, critical-infrastructure management, product-safety components, essential services, credit, employment, housing, education, social scoring, or insurance); +15. Use in any manner that violates or disregards the social, ethical, or moral standards of other countries or regions; +16. Use to carry out, assist, threaten, incite, plan, advocate for, or encourage violent extremism or terrorism; +17. Use for any purpose intended to discriminate against, or harm, individuals or groups based on protected characteristics or categories, online or offline social behavior, or known or predicted personality traits; +18. Use to intentionally exploit the vulnerabilities of specific populations based on age, social, physical, or psychological characteristics, so as to materially distort the behavior of a member of that group in a manner that causes, or is likely to cause, physical or psychological harm to that person or to others; +19. Use for military purposes; +20. Use to engage in any unauthorized or unlicensed professional activity, including but not limited to financial, legal, medical or healthcare, or other professional practice. diff --git a/LICENSE-text-encoder b/LICENSE-text-encoder new file mode 100644 index 0000000000000000000000000000000000000000..c389b45855337ccec8ddeb389f4fe902abcd0b19 --- /dev/null +++ b/LICENSE-text-encoder @@ -0,0 +1,84 @@ +MiniMax H3 COMMUNITY LICENSE AGREEMENT +MiniMax H3 release date/License date: August 2, 2026. +The scope of this License Agreement (this “Agreement”) is expressly limited to the “Applicable Territory” as defined below. +By clicking to accept, or by using, reproducing, modifying, distributing, running, or displaying any portion or element of the MiniMax H3 Works (including through any Hosted Services) in any manner, you acknowledge and accept the terms of this Agreement, and this Agreement shall take immediate effect upon the occurrence of such act. +I. Definitions +1. “Acceptable Use Policy” means the policy published by MiniMax in Exhibit A. +2. “Agreement” means the terms and conditions set forth herein that govern the use, reproduction, distribution, modification, running, and display of the MiniMax H3 Works or any portion or element thereof. +3. “Applicable Territory” means worldwide, excluding the Excluded Territories. +4. “Documentation” means the specifications, manuals, and documentation concerning MiniMax H3 that are publicly released by MiniMax. +5. “Excluded Territories” means the European Union, the United Kingdom, the Republic of Korea and the United States of America. +6. “MiniMax H3” means the video generation model, together with its software and algorithms, including trained model weights, parameters (including optimizer states), machine-learning model code, inference-supporting code, and other elements thereof made publicly available by Us, as released at https://huggingface.co/MiniMaxAI/MiniMax-H3. +7. “MiniMax H3 Works” means (i) the Materials, (ii) the Model Derivatives, and (iii) all derivatives thereof. +8. “Hosted Services” means hosted services provided via application programming interfaces (APIs), web access, or any other electronic or remote means. +9. “Licensee,” “you,” or “your” means the natural or legal person exercising rights and/or using the MiniMax H3 Works for any purpose in any field of use under this Agreement. +10. “Materials” means, collectively, MiniMax H3 and the Documentation (and any portion thereof), in each case as made available by MiniMax under this Agreement and proprietary to MiniMax. +11. “Model Derivatives” means all of the following: (i) any modification of MiniMax H3 or any Model Derivative thereof; (ii) any work based on MiniMax H3 or any Model Derivative thereof; or (iii) any other machine learning model created by transferring the patterns of the weights, parameters, operational patterns, or Outputs of MiniMax H3 or any Model Derivative thereof to another model, such that the latter model exhibits behavior similar to MiniMax H3 or its Model Derivatives, including by distillation methods, methods using intermediate data representations, or methods based on training using synthetic-data Outputs generated by MiniMax H3 or its Model Derivatives. For the avoidance of doubt, Outputs are not deemed Model Derivatives. +12. “Output” means any result of operating or otherwise using MiniMax H3 or any Model Derivatives (including through Hosted Services). +13. “Third Party” means any natural or legal person that is not under common control with us or with you. +14. “Including” means “including but not limited to.” +15. “We,” “Us” or “MiniMax” means Nanonoble Pte. Ltd.. +II. Grant of Rights +Solely within the Applicable Territory, we grant you a non-exclusive, non-transferable, royalty-free, limited license to use, reproduce, distribute, create derivative works (including Model Derivatives), and modify the Materials in accordance with the terms of this Agreement and the Acceptable Use Policy, based on the intellectual property and other rights owned by MiniMax that are embodied in or used by the Materials. You shall not violate (or encourage or permit any person to violate) any term of this Agreement or the Acceptable Use Policy. +We will continuously evaluate the applicable laws, regulations and compliance requirements for the Excluded Territories. In the meantime, should any person in such Excluded Territories be interested in deploying our models, you are welcome to contact us about obtaining a license, which will be granted based on robust controls and guardrails for purposes of complying with the laws, regulations and compliance requirements of the Excluded Territories. +III. Distribution and Redistribution +Subject to and conditioned on your continuing compliance with this Agreement, including its territorial restrictions and the Acceptable Use Policy, and solely within the Applicable Territory, you may distribute or make available the MiniMax H3 Works to Third Parties within the Applicable Territory; provided, that all of the following conditions are met: +1. You must provide a copy of this Agreement to all such Third Parties who receive the MiniMax H3 Works or use your products or services related thereto; +2. You must cause any modified files to carry prominent notices stating that you have modified such files; +3. You are encouraged to: + a. display a notice on any product or service developed using MiniMax H3 indicating that the product or service is “Powered by MiniMax H3”; + b. add an AI-generation identifier to files produced using generative AI models including MiniMax H3; and + c. publish at least one technical blog post or a public statement describing your experience using MiniMax H3 Works; +4. All distributions to Third Parties (other than through Hosted Services) must be accompanied by a “NOTICE” text file containing the following notice: + “MiniMax H3 is licensed under the MiniMax H3 Community License Agreement, Copyright © 2026 MiniMax. All Rights Reserved.” +You may add your own copyright notices on your modifications; except as provided in this Section and in Section V, however, you may not impose additional or different terms and conditions on the use, reproduction, or distribution of your modifications or of any aggregate Model Derivatives, and your use, reproduction, modification, distribution, running, and display of the work must otherwise comply with the terms and conditions of this Agreement (including the provisions concerning the Applicable Territory). If you receive the MiniMax H3 Works from a Licensee as part of an integrated end-user product, the provisions of Section III of this Agreement do not apply to you, but Section V and Exhibit A remain applicable. +IV. Additional Commercial Terms +1. You shall obtain a separate, prior written authorization from MiniMax by contacting api@minimax.io with the subject line “MiniMax H3 licensing - authorization request”, if your commercial products and services generate more than 20 million US dollars (or equivalent in other currencies) in yearly revenue. +2. You shall prominently display “MiniMax H3”on the user interface of commercial product or service that uses MiniMax H3 or MiniMax H3 Works. +V. Use Restrictions +1. Your use of the MiniMax H3 Works must comply with applicable laws and regulations (including trade-compliance laws and regulations) and must comply with the Acceptable Use Policy for the MiniMax H3 Works, which is incorporated into this Agreement by reference. +2. Before providing access to the MiniMax H3 Works or any product, service, or Hosted Service incorporating them, you must bind each recipient or user to enforceable terms at least as protective as the use restrictions in this Section V and Exhibit A, and you must notify each recipient or user that those restrictions apply. +3. You may not use the MiniMax H3 Works or any of their Outputs or results to improve any other artificial intelligence model (other than MiniMax H3 or its Model Derivatives). +4. You may not use, reproduce, modify, distribute, or display the MiniMax H3 Works or any of their Outputs or results outside the Applicable Territory. Any such use outside the Applicable Territory is not authorized by this Agreement. +5. If you provide or make available to any Third Party a product, service, or Hosted Service that permits the generation of Outputs using MiniMax H3 or any Model Derivative, you must, before making that product or service available and throughout its operation, implement, maintain, test, and periodically review reasonable and proportionate technical and organizational safeguards designed to prevent and mitigate access, uses, and Outputs that violate this Section V or Exhibit A, including uses or Outputs that infringe, misappropriate, or otherwise violate any Third Party’s intellectual-property or other rights. You must not knowingly disable, materially weaken, or permit the circumvention of those safeguards. You must maintain a reasonably accessible mechanism for reporting suspected violations. Upon receiving a good-faith report or otherwise obtaining actual knowledge of a violation, you must promptly investigate and take reasonable steps within your control to stop or mitigate the violation, including removing or disabling access to offending content or services and suspending or terminating repeat violators where appropriate. You are responsible for implementing and enforcing these requirements with respect to your products, services, systems, users, and downstream recipients. +VI. Intellectual Property +1. Subject to MiniMax’s rights in the MiniMax H3 Works (and the intellectual property therein), and to your compliance with the terms and conditions of this Agreement, as between you and MiniMax, you will own the derivative works and modifications of the Materials that you have created or had created, as well as any Model Derivatives. +2. Except for the limited license expressly granted in this paragraph, no trademark license is granted under this Agreement; with respect to MiniMax H3 Works, the Licensee may not use any name or mark owned by or associated with MiniMax or any of its affiliates, except as reasonably and customarily necessary to describe and distribute the MiniMax H3 Works. MiniMax hereby grants you a license to use the “MiniMax H3” mark (the “Mark”) within the Applicable Territory solely for the purpose of complying with Section III.3; provided, that you comply with all applicable trademark-protection laws. All goodwill arising from your use of the Mark shall inure to the benefit of MiniMax. +3. If you bring or assert any suit or other legal proceeding (including a cross-claim or counterclaim in any action) against us or any other natural or legal person alleging that the Materials, any Output, or any portion of the foregoing infringes any intellectual property right or other right owned by you or for which you can obtain a license, all licenses granted to you under this Agreement will terminate as of the date such suit or proceeding is filed. You shall defend, indemnify, and hold us harmless against any Third-Party claim arising out of or related to the use or distribution of the MiniMax H3 Works by you or by any Third Party. +4. MiniMax claims no rights over the Outputs you generate. You and your users are entirely responsible for the Outputs and any subsequent use thereof. +VII. Disclaimers and Limitations of Liability +1. We have no obligation to support, update, provide training for, or develop any further version of the MiniMax H3 Works, or to grant any license with respect thereto. +2. UNLESS AND ONLY TO THE EXTENT REQUIRED BY APPLICABLE LAW, THE MINIMAX H3 WORKS AND ANY OUTPUT AND RESULTS THEREFROM ARE PROVIDED “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND INCLUDING ANY WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, COURSE OF DEALING, USAGE OF TRADE, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING, REPRODUCING, MODIFYING, PERFORMING, DISPLAYING OR DISTRIBUTING ANY OF THE MINIMAX H3 WORKS OR OUTPUTS AND ASSUME ANY AND ALL RISKS ASSOCIATED WITH YOUR OR A THIRD PARTY’S USE OR DISTRIBUTION OF ANY OF THE MINIMAX H3 WORKS OR OUTPUTS AND YOUR EXERCISE OF RIGHTS AND PERMISSIONS UNDER THIS AGREEMENT. +3. TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MINIMAX OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, FOR ANY DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, EXEMPLARY, CONSEQUENTIAL OR PUNITIVE DAMAGES, OR LOST PROFITS OF ANY KIND ARISING FROM THIS AGREEMENT OR RELATED TO ANY OF THE MINIMAX H3 WORKS OR OUTPUTS, EVEN IF MINIMAX OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF ANY OF THE FOREGOING. +VIII. Term and Termination +1. This Agreement is effective from the moment you accept this Agreement or begin accessing the Materials, and, subject to your compliance with its terms and conditions, will remain in effect until terminated as provided herein. +2. If you breach any term or condition of this Agreement, we have the right to terminate this Agreement. Upon termination, you must immediately cease accessing, using, and distributing the MiniMax H3 Works; delete or destroy all copies within your possession or control; and notify each downstream recipient that your authorization has ended. The obligations in the preceding sentence and Sections VI.1, VI.3, VII, and IX survive termination. +IX. Governing Law and Jurisdiction +1. This Agreement, and any dispute arising out of or related to this Agreement, shall be governed by the laws of the Hong Kong Special Administrative Region of the People’s Republic of China, without regard to its conflict-of-laws rules. The United Nations Convention on Contracts for the International Sale of Goods does not apply to this Agreement. +2. Any dispute arising out of or related to this Agreement shall be subject to the exclusive jurisdiction of the courts of the Hong Kong Special Administrative Region of the People’s Republic of China with competent jurisdiction. Both MiniMax and the Licensee hereby consent to the exclusive jurisdiction of such courts for any such dispute. +Additional Note: Please note that the encoder of MiniMax H3 uses Qwen3-VL-32B, which is licensed under Apache 2.0 License: https://github.com/QwenLM/Qwen3-VL/blob/main/LICENSE. + +Exhibit A — Acceptable Use Policy +MiniMax reserves the right to update this Acceptable Use Policy from time to time. +Last revised: August 2, 2026. +MiniMax is committed to promoting the safe and fair use of its tools and features, including MiniMax H3. You agree not to use MiniMax H3, any Model Derivatives, or any Output in any of the following ways: +1. Use outside the Applicable Territory; +2. Use in any manner that violates any applicable national, federal, state, local, or international law, regulation, or other legal requirement, or that infringes, misappropriates, or otherwise violates any Third Party’s intellectual-property or other proprietary rights, including through unauthorized reproduction, distribution, public display, public performance, or creation of derivative works; +3. Use in any manner that may harm yourself or others; +4. Use to repurpose or distribute the Outputs of MiniMax H3 or any Model Derivatives in order to harm yourself or others; +5. Use to circumvent or bypass any safety guardrails or safeguards we have implemented; +6. Use in any manner that exploits or harms, or intends to exploit or harm, minors; +7. Use to generate or disseminate verifiably false information and/or content for the purpose of harming others or influencing elections; +8. Use to manufacture or facilitate false online engagement, including fake reviews and other means of false online engagement; +9. Use to intentionally defame, disparage, or otherwise harass others; +10. Use to generate and/or disseminate malware (including ransomware) or any other content intended to damage electronic systems; +11. Use to generate or disseminate personally identifiable information for the purpose of harming others; +12. Use to generate or disseminate information (including images, code, posts, or articles) in or to any public environment (including via bot tweets or similar means) without clearly and prominently disclosing that such information and/or content is machine-generated; +13. Use to impersonate another person without that person’s consent, authorization, or lawful right to do so; +14. Use to make high-risk automated decisions in critical domains that affect individual safety, rights, or well-being (such as law enforcement, immigration, healthcare or medical services, critical-infrastructure management, product-safety components, essential services, credit, employment, housing, education, social scoring, or insurance); +15. Use in any manner that violates or disregards the social, ethical, or moral standards of other countries or regions; +16. Use to carry out, assist, threaten, incite, plan, advocate for, or encourage violent extremism or terrorism; +17. Use for any purpose intended to discriminate against, or harm, individuals or groups based on protected characteristics or categories, online or offline social behavior, or known or predicted personality traits; +18. Use to intentionally exploit the vulnerabilities of specific populations based on age, social, physical, or psychological characteristics, so as to materially distort the behavior of a member of that group in a manner that causes, or is likely to cause, physical or psychological harm to that person or to others; +19. Use for military purposes; +20. Use to engage in any unauthorized or unlicensed professional activity, including but not limited to financial, legal, medical or healthcare, or other professional practice. diff --git a/MODEL_INDEX.md b/MODEL_INDEX.md new file mode 100644 index 0000000000000000000000000000000000000000..feaa97ce607a2d09a82bd1038e2488dd5d5fe92f --- /dev/null +++ b/MODEL_INDEX.md @@ -0,0 +1,51 @@ +# Model and repository index + +The Hugging Face Hub uses sibling repositories grouped by a collection. +The main repository links them; it does not contain nested Git repositories +or any model weights. Each download selects one variant and shared components. + +| Repository under `devin-lai/` | Contents | Selection | +|---|---|---| +| `MiniMax-H3-Image-mlx` | Inference source, documentation, tests and comparison records | Install once | +| `MiniMax-H3-Image-mlx-packed12` | Fifty losslessly packed main DiT blocks | Recommended exact storage choice | +| `MiniMax-H3-Image-mlx-bf16` | Original complete BF16/FP32 transformer | Unmodified storage control | +| `MiniMax-H3-Image-mlx-q8` | Q8 main blocks and token refiners, group 64 | Smaller weights, image changes | +| `MiniMax-H3-Image-mlx-q4` | Q4 main blocks and token refiners, group 64 | Smallest core, larger image changes | +| `MiniMax-H3-Image-mlx-shared` | VAE, PDD heads, native support, configs and modulation tables | Fetched as needed, reused across variants | +| `MiniMax-H3-Image-mlx-examples` | Generated images and visual comparisons | Optional gallery, with manual access review | + +The unchanged encoder is fetched from +[`MiniMaxAI/MiniMax-H3`](https://huggingface.co/MiniMaxAI/MiniMax-H3/tree/0919fb684102ef115126612f3fbb84d1027e7317/text_encoder) +at revision `0919fb684102ef115126612f3fbb84d1027e7317`. Only its `text_encoder/` +directory and license are selected. This is about **62.14 GiB** of weights and +tokenizer files; it is a substantial first download. An existing copy can be +reused with `--text-encoder-path`. + +The image source is `MiniMaxAI/MiniMax-H3-Image` at revision +`6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901`. All uploaded model files receive +SHA-256 manifests; the runtime catalog pins each component repository to a +full commit ID. A `v0.4.0` tag provides a human-readable +release name. Runtime options such as compiled execution, VAE tile batches +and reduced steps do not create additional model repositories. + +## Layout after downloading + +```text +models/packed12/ + release.json + transformer/ # Native constants, norms, refiners and config + core/ # Only the chosen variant + modulation/ # Six-step generation and editing tables + vae/ + pdd_config.json + pdd_fused_heads.safetensors + text_encoder/ # Link to the one shared upstream cache + licenses/ +``` + +Files are linked to Hugging Face's cache rather than copied. Keep that cache +while using the assembled directory. `--local-files-only` supports cached, +offline assembly. `--verify` rehashes all selected image-model files; the +encoder download uses the Hub's pinned, content-addressed download mechanism. +Download size is different from runtime memory. The prepared release's exact +file sizes are recorded in each repository's `files.json` manifest. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..39277d961bfe9892dd79c52c2a10a2ad7f46f3d6 --- /dev/null +++ b/NOTICE @@ -0,0 +1,15 @@ +MiniMax-H3-Image-mlx +Copyright 2026 MiniMax-H3-Image-mlx contributors + +MiniMax-H3-Image is licensed under the MiniMax-H3-Image Community License +Agreement, Copyright © 2026 MiniMax. All Rights Reserved. + +The model architecture and inference contracts were ported from SGLang's +Apache-2.0 MiniMax H3 implementation and Hugging Face Transformers' Apache-2.0 +Qwen3-VL implementation. Source identities and file digests are recorded in +provenance/sources.json. See LICENSE for the code license. + +Model weights are NOT covered by this repository's Apache-2.0 code license. +MiniMax-H3-Image weights remain subject to the MiniMax-H3-Image Community +License Agreement; the separate MiniMax-H3 text encoder retains its own terms. +No model weights are included in this repository. diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..eb30887e1f6bb88dd7a8aba5fc34e45dfb825bd1 --- /dev/null +++ b/README.md @@ -0,0 +1,156 @@ +--- +library_name: mlx +pipeline_tag: text-to-image +license: other +license_name: minimax-h3-image-community-license-agreement +license_link: https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/v0.4.0/LICENSE-model +base_model: MiniMaxAI/MiniMax-H3-Image +language: + - en +tags: + - mlx + - apple-silicon + - macos + - minimax-h3 + - text-to-image + - image-to-image + - image-editing + - image-generation + - safetensors +inference: false +--- + +# MiniMax H3 Image on Apple silicon + +**Generate and edit images locally with MLX. Choose one weight variant; reuse the shared components.** + +[View the generated showcase and comparisons](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples) + +*The gallery contains AI-generated images from recorded local runs. It uses +manual access review under the model license. [Prompts, seeds and precision +settings](examples/README.md) are also documented here.* + +A community port of [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI/MiniMax-H3-Image) +by [Devin Lai](https://huggingface.co/devin-lai). Native MLX/Metal inference, +all six distilled PDD steps, reference-image editing, lossless BF16 packing +and optional Q8/Q4 weights. Model operators run locally on your Mac. + +[Quick start](#quick-start) · [Choose weights](#choose-your-download) · +[Usage](USAGE.md) · [Benchmarks](BENCHMARKS.md) · +[Collection](https://huggingface.co/collections/devin-lai/minimax-h3-image-apple-silicon-mlx-6af64fcd11d7d7a3b17e11d8) · [Repository map](MODEL_INDEX.md) · [简体中文](README.zh-CN.md) + +**Start with packed12 on a sufficiently large Mac.** It reconstructs the +original BF16 weight bits before computation. It is storage compression, +not quantization. The tested machine is an **M5 Pro with 64 GiB**; +smaller-memory Macs have not been qualified. + +## Choose your download + +The main repository contains inference code, documentation and comparison +records. Generated images are in the separately gated example gallery. Each +linked model repository contains one weight choice. +The downloader fetches that choice and its required shared files, then reuses +the same pinned upstream text encoder across variants. + +| Variant | Variant weights¹ | Choose it for | +|---|---:|---| +| **[Lossless packed BF16](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-packed12)** | **27.23 GiB** | Recommended exact storage choice; original BF16 payloads | +| [Original BF16](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-bf16) | 61.73 GiB | Unmodified complete transformer storage | +| [Q8](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-q8) | 19.83 GiB | Smaller core; image and detail changes | +| [Q4](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-q4) | 10.50 GiB | Smallest core; stronger fidelity tradeoffs | + +¹ Excludes [shared VAE, support tensors, heads and tables](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-shared), +the separate **roughly 62 GiB text encoder**, Python dependencies and runtime +memory. BF16 already includes native support; the downloader omits its redundant +shared copy. +Download sizes are not RAM requirements. Q8/Q4 quantize main and refiner +attention/MLP weights with MLX affine groups of 64; FP32 precision islands stay +native. Quantization has not established a generation-speed advantage here. + +**License and access:** model weights retain MiniMax's community agreements, +including territory and commercial restrictions; they are not unrestricted +open-source weights. Model components use manual access review. +[Status and license details](RELEASE.md). + +## Quick start + +Use an Apple silicon Mac, native arm64 Python 3.12 and +[uv](https://docs.astral.sh/uv/getting-started/installation/). Request access +on the selected model and shared-component pages before downloading weights: + +```bash +uv venv --python 3.12 .venv +source .venv/bin/activate +uv pip install huggingface-hub==0.36.2 +hf auth login + +hf download devin-lai/MiniMax-H3-Image-mlx --revision v0.4.0 \ + --include 'h3_mlx/*' pyproject.toml LICENSE NOTICE \ + --local-dir h3-runtime +uv pip install './h3-runtime[native]' +h3-mlx doctor + +h3-mlx download --variant packed12 --model-dir models/packed12 +h3-mlx generate --model models/packed12 \ + --text-encoder models/packed12/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --width 2048 --height 2048 --seed 731 --output outputs/bottle.png +``` + +The first download is large because the native text encoder is separate. +Reuse an existing encoder with `--text-encoder-path /path/to/text_encoder`. +Use `--variant q8`, `q4` or `bf16` to select another weight repository. +Each output includes a JSON record with the prompt, seed, schedule, hardware, +precision, timings and memory. [Offline use, tuning and Python API](USAGE.md). + +For reference-image editing, add `--image bottle.png` and describe the edit +using ``. The implementation accepts up to sixteen ordered inputs; +the recorded edit cohort validates one reference. Detailed English prompts are +recommended; the runtime does not silently expand them. + +## Measured on M5 Pro / 64 GiB + +The selected exact tuning measured **62.49 s dense / 64.05 s packed** for warm +2048-square generation, with maximum sampled parent footprints of **40.50 / +32.56 GiB** across four candidate cases. Each mode improved against its own +paired MLX control: **5.07% / 3.57%**. Every pixel and saved denoising tensor +matched the corresponding control in the recorded four-case suites. + +These are historical local campaigns with cached conditioning and resident +weights, three alternating repeats per timing case. They exclude startup and +downloads. They do not establish CUDA pixel identity, a minimum RAM capacity, +new packaging performance or a universal speed guarantee. +[Method, ranges, raw receipts and limitations](BENCHMARKS.md). + +## Inspect, reproduce, contribute + +- [Original examples and provenance](examples/README.md): authentic outputs, + prompts, seeds and reference images, clearly identified as AI-generated. +- [Native / Q8 / Q4 comparisons](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png): inspect the + lettering and detail changes before choosing compact weights. +- [Technical guide](docs/TECHNICAL.md): precision rules, resident Python + pipelines, reference-image processing and experiment reproduction. +- [Validation](docs/VALIDATION.md): release software checks and fresh inference. +- [Community discussions](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/discussions): + share a reproducible issue or result with your variant, prompt, seed, canvas, + Mac configuration and generated JSON record. + +If the project helps you, like the variant you use and +[follow devin-lai](https://huggingface.co/devin-lai) for future Mac releases. +Measured contributions and examples from more Apple silicon configurations +are welcome. No hosted inference service is bundled. + +## Attribution and terms + +Independent community MLX adaptation by Devin Lai, based on MiniMax's released +weights and the inspected SGLang/Transformers inference contracts. This is not +an official MiniMax release or endorsement. Powered by MiniMax-H3-Image. + +**Runtime code:** [Apache-2.0](LICENSE). +**Image weights and derivatives:** [MiniMax-H3-Image Community License Agreement](LICENSE-model). +**Separate text encoder:** [MiniMax H3 Community License Agreement](LICENSE-text-encoder). +The published agreements exclude the EU, UK, Republic of Korea and US absent +separate permission and include commercial, redistribution and acceptable-use +conditions. Access review does not grant additional rights. +[Modifications](docs/MODIFICATIONS.md) · [NOTICE](NOTICE) · +[Pinned source provenance](provenance/sources.json). diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000000000000000000000000000000000000..40cabb4f7afef1f001fc6b01213da762e0595ba3 --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,38 @@ +# MiniMax H3 Image · Apple 芯片 / MLX + +在 Mac 上通过 MLX/Metal 本地生成和编辑图像。由 Devin Lai 维护的社区移植, +保留原始六步 PDD 调度、BF16 权重与 FP32 精度敏感层,提供无损 packed12、 +原始 BF16,以及有损 Q8/Q4 选项。 + +[查看 AI 生成的示例与对比图(需申请访问)](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples) + +主仓库存放运行代码、文档和可选的对比证据。模型权重按变体放在独立仓库; +只下载所选变体,复用 VAE 等公共组件和固定版本的官方文本编码器。 +文本编码器约 62 GiB,首次下载量较大,也可以复用已有文件。 + +建议首先选择 **packed12**:这是 BF16 位级无损存储压缩,不是 12 位量化。 +Q8/Q4 会改变生成结果,并不保证速度更快。测试设备是 **M5 Pro / 64 GiB**; +尚未确认更小内存设备的最低配置。历史 2048×2048 热运行实测约 62–64 秒, +不含下载和进程启动,详情见[基准说明](BENCHMARKS.md)。 + +安装运行环境并获得所需访问权限后可使用: + +```bash +h3-mlx download --variant packed12 --model-dir models/packed12 +h3-mlx generate --model models/packed12 \ + --text-encoder models/packed12/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --seed 731 --output outputs/bottle.png +``` + +[安装与使用](USAGE.md) · [模型选择](MODEL_INDEX.md) · +[原始输出与提示词](examples/README.md) · [English](README.md) + +**发布版本:v0.4.0,模型组件采用人工审核访问。** 模型并非无限制开源许可。 +图像权重及其衍生物保留 MiniMax-H3-Image 社区许可;文本编码器保留其独立许可。 +现行协议对欧盟、英国、韩国和美国有地域限制,并包含商业使用、再分发和可接受使用条件。 +使用前请确认具备所需权限。[发布与许可说明](RELEASE.md)。 + +如项目有帮助,欢迎在 Hugging Face 点赞所用模型、关注 +[devin-lai](https://huggingface.co/devin-lai),并分享附有设备、变体、提示词、 +seed 和生成 JSON 记录的可复现结果。 diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000000000000000000000000000000000000..3a4345424760905856937a3ef4f0799d9a5c1ca7 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,47 @@ +# Release v0.4.0 + +The main repository contains the MLX runtime, documentation, tests and +comparison records. Model files are split across four variant repositories and +a shared-components repository. Choose one variant; the downloader reuses the +shared components and the separately pinned upstream text encoder. Generated +images and visual comparisons are in a separate, manually gated example gallery. + +[Browse the collection](https://huggingface.co/collections/devin-lai/minimax-h3-image-apple-silicon-mlx-6af64fcd11d7d7a3b17e11d8). + +The component repositories use manual access review. Request access to your +chosen variant and the shared repository, read the applicable licenses and +sign in with `hf auth login`. Repository access does not itself grant rights +outside the upstream licenses. The agreements include territorial, commercial, +redistribution and acceptable-use conditions; their standard grant excludes the +EU, UK, Republic of Korea and US. The code is Apache-2.0; model weights retain +their respective MiniMax community licenses. No hosted inference service is +included. + +[Quick start](README.md#quick-start) · [Model index](MODEL_INDEX.md) · +[Usage](USAGE.md) · [Validation](docs/VALIDATION.md) + +## Revisions and validation + +`h3_mlx/model_index.json` pins the shared and variant repositories to immutable +commits. Each model repository also has a `v0.4.0` tag and a `files.json` +manifest with byte sizes and SHA-256 hashes. The uploaded component files were +checked against those manifests. The release validation records 53 local tests +and full-image packaging reproductions for packed12 and Q4; it does not claim +a fresh full-image Q8 reproduction or validation on another machine. + +## Preparing artifacts + +For maintainers with the original model and the validated packed cache: + +```bash +python scripts/prepare_hf_release.py \ + --model /path/to/MiniMax-H3-Image \ + --packed-cache /path/to/validated/packed12-cache --quantize q4 +``` + +Staging is written under `.release/huggingface/`. Existing model and packed +files are linked rather than copied; optional quantized variants require +additional scratch space. Preserve original checkpoints and caches. The +publisher script uploads and verifies individual components before finalizing +the pinned catalog. It does not automatically approve access requests or post +announcements. diff --git a/USAGE.md b/USAGE.md new file mode 100644 index 0000000000000000000000000000000000000000..e1d50f7cde3c1da80cb80c61c3077cecb2636b1a --- /dev/null +++ b/USAGE.md @@ -0,0 +1,102 @@ +# Install and use + +Use Apple silicon, native arm64 Python 3.12, and a compatible macOS Metal +installation. The measured environment is M5 Pro / 64 GiB, macOS 27.0.1, +MLX 0.32.4 and Transformers 4.57.6. Smaller Macs have not been qualified. + +## Release installation + +Request access on the selected variant and shared model pages and read their +licenses. Install [uv](https://docs.astral.sh/uv/getting-started/installation/) +and authenticate with Hugging Face as shown below. + +```bash +uv venv --python 3.12 .venv +source .venv/bin/activate +uv pip install huggingface-hub==0.36.2 +hf auth login +hf download devin-lai/MiniMax-H3-Image-mlx --revision v0.4.0 \ + --include 'h3_mlx/*' pyproject.toml LICENSE NOTICE \ + --local-dir h3-runtime +uv pip install './h3-runtime[native]' +h3-mlx doctor + +h3-mlx download --variant packed12 --model-dir models/packed12 +h3-mlx generate --model models/packed12 \ + --text-encoder models/packed12/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --width 2048 --height 2048 --seed 731 --output outputs/bottle.png +``` + +The release catalog records immutable component revisions. It rejects +unpublished or unpinned weights. For local development use `uv pip install +-e '.[native]'` and the original checkpoint paths, as in +[the technical guide](docs/TECHNICAL.md). + +The `native` extra supplies PyTorch for the original CPU noise stream. Model +operators still run in MLX on Metal. Without that extra, `--rng mlx` uses a +different random stream and does not reproduce the same seeded images. + +## Select another variant or reuse existing weights + +```bash +h3-mlx download --variant q8 --model-dir models/q8 \ + --text-encoder-path /path/to/MiniMax-H3/text_encoder +h3-mlx generate --model models/q8 --text-encoder models/q8/text_encoder \ + 'A detailed scene description' --output outputs/q8.png +``` + +Use `q4`, `bf16` or `packed12` in the same way. Use a separate assembly +directory for each variant. Shared files and the encoder are cached once; +no other variant is fetched. The release selects quantization automatically, +so do not add `--quantize` or `--quantized-core` to published variants. + +To fetch the image model without the encoder, use `--skip-text-encoder` and +pass your encoder path directly to generation. `--local-files-only` avoids +network access when all required files already exist in the Hub cache. + +## Measured exact tuning + +On the tested M5 Pro / 64 GiB, add: + +```bash +--compile-blocks --eval-every 0 --prefetch-blocks 4 \ +--compile-vae --vae-batch 4 --kernel metal-qk-exact --tune-matmul +``` + +Optional `--wired-gb 32` (packed12) or `--wired-gb 42` (BF16) were tested on +this 64 GiB Mac. The runtime checks Metal's limit. They are not universal +settings for other machines. Q8/Q4 are storage and memory tradeoffs and have +not established a generation-speed advantage. Frozen modulation tables +require MLX 0.32.4 and `MLX_ENABLE_TF32=0`; original checkpoints remain an +alternative when regenerating tables in another supported environment. + +## Reference-image editing + +```bash +h3-mlx generate --model models/packed12 \ + --text-encoder models/packed12/text_encoder \ + 'Change the bottle in to emerald glass while preserving its label' \ + --image bottle.png --seed 42 --output outputs/edit.png +``` + +The implementation accepts up to sixteen ordered references. The recorded +image-edit cohort covers one reference. This does not establish quality for +every multi-image composition. Use detailed English prompts. Prompt expansion +is not automatic. The default 2048-square canvas is within the model's usual +4–20 MP working range. Smaller requested images are generated on an enlarged +canvas and resized; development overrides are documented in the technical guide. + +Each output has a JSON record with precision, seeds, schedule, timings, +memory and environment. Add `--save-trace` for numerical audits. Report issues +with that record, your command, chip, memory, macOS and package versions. + +## Licenses and access + +The image weights and derivatives retain the MiniMax-H3-Image Community +License Agreement, including its territory, commercial, redistribution and +acceptable-use conditions. The text encoder has its own MiniMax H3 agreement. +The published agreements exclude the EU, UK, Republic of Korea and US absent +separate permission. A manual Hub gate supports access review; it does not +grant rights outside those agreements. See `LICENSE-model`, +`LICENSE-text-encoder`, `NOTICE` and [release status](RELEASE.md). diff --git a/comparisons/README.md b/comparisons/README.md new file mode 100644 index 0000000000000000000000000000000000000000..822491ac383bf2f74b70e2a17170f16cf1f05675 --- /dev/null +++ b/comparisons/README.md @@ -0,0 +1,32 @@ +# Image comparison gallery + +All comparison pictures are actual recorded inference outputs. Each stack +contains labeled full frames, identical 1:1 crops and absolute RGB differences +amplified eight times. Metrics apply to full-resolution images, not previews. + +| Comparison | Viewer | Image stack | Native detail crops | +|---|---|---|---| +| 2K product: BF16 tuning, Q8, Q4, three-pass preview | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/details.png) | +| 2K portrait: native BF16 vs Q8 | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/details.png) | +| Same final latent: VAE batches 1, 4, 8, 16 | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/details.png) | +| Saved CUDA BF16 vs MLX, product | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/details.png) | +| Saved CUDA BF16 vs MLX, portrait | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/details.png) | +| Saved CUDA BF16 vs MLX, native 4K | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/details.png) | + +[The editing demonstration](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/edit-example/before-after.png) places the input +reference beside the native MLX emerald-glass edit. It is a functional example, +not a pixel-similarity comparison. + +The CUDA comparison uses the original saved RTX 5090 BF16 run with upstream +`quality=lossless`. Its hardware and decoder quality setting differ from the +MLX native tile recipe. It provides visual context; it does not isolate port +error or establish a same-hardware speedup. + +The default MLX BF16 output is the reference for the quantization/tuning +comparisons. Q8, Q4, fused kernels and fewer steps change its pixels. Read the +[experiment report](../reports/RESULTS.md) before selecting a profile. + +Full-resolution Mac outputs and trace tensors are retained locally under +`outputs/suite/` (ignored by Git). Source hashes, configuration, memory and +timing records are exported under `reports/inference/` and each gallery's +`metrics.json`. Original model weights are not included. diff --git a/comparisons/cuda-reference/native-4k.json b/comparisons/cuda-reference/native-4k.json new file mode 100644 index 0000000000000000000000000000000000000000..76275eb3213533c6d78f8f0b9c4a5eecdf13dcca --- /dev/null +++ b/comparisons/cuda-reference/native-4k.json @@ -0,0 +1,63 @@ +{ + "prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition.", + "seed": 802, + "size": [ + 4096, + 4096 + ], + "canvas": [ + 4096, + 4096 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "output": "comparisons/cuda-reference/native-4k.png", + "timings": { + "total_s": 32.5837 + }, + "environment": { + "device": "RTX 5090", + "backend": "SGLang CUDA", + "quality": "lossless" + }, + "source_record": { + "label": "single-bf16-stream", + "case": "native-4k", + "trial": 1, + "wall_seconds": 32.5837, + "image_bytes": 50339652, + "sha256": "7fd381c76d07a3f5a5e3f1982d454d31c56101f9af22c70900aab983e8465bee", + "size": "4096x4096", + "seed": 802, + "task": "text-to-image", + "quality": "lossless", + "output_compression": 1, + "attention_override": null, + "h3_opt": null, + "prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition." + }, + "reference_images": [], + "reference_sha256": [], + "dit": { + "precision": "BF16" + }, + "vae": { + "quality": "lossless" + } +} diff --git a/comparisons/cuda-reference/portrait.json b/comparisons/cuda-reference/portrait.json new file mode 100644 index 0000000000000000000000000000000000000000..ed45af0f9d4d615cf83cd5246b25b15e9696f7e1 --- /dev/null +++ b/comparisons/cuda-reference/portrait.json @@ -0,0 +1,63 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "output": "comparisons/cuda-reference/portrait.png", + "timings": { + "total_s": 6.7668 + }, + "environment": { + "device": "RTX 5090", + "backend": "SGLang CUDA", + "quality": "lossless" + }, + "source_record": { + "label": "single-bf16-stream", + "case": "portrait", + "trial": 1, + "wall_seconds": 6.7668, + "image_bytes": 12585988, + "sha256": "a8e360798a511a2b74f7ee8679699d253282afcf01423f6496f504a2f11c7aad", + "size": "2048x2048", + "seed": 1234, + "task": "text-to-image", + "quality": "lossless", + "output_compression": 1, + "attention_override": null, + "h3_opt": null, + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering." + }, + "reference_images": [], + "reference_sha256": [], + "dit": { + "precision": "BF16" + }, + "vae": { + "quality": "lossless" + } +} diff --git a/comparisons/cuda-reference/product.json b/comparisons/cuda-reference/product.json new file mode 100644 index 0000000000000000000000000000000000000000..d1075001118d7b29df165540a9ac16af2fc14423 --- /dev/null +++ b/comparisons/cuda-reference/product.json @@ -0,0 +1,63 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "output": "comparisons/cuda-reference/product.png", + "timings": { + "total_s": 6.7003 + }, + "environment": { + "device": "RTX 5090", + "backend": "SGLang CUDA", + "quality": "lossless" + }, + "source_record": { + "label": "single-bf16-stream", + "case": "product", + "trial": 1, + "wall_seconds": 6.7003, + "image_bytes": 12585988, + "sha256": "66a49c7b9d281bf7a4b22356b625bdbee8e92e02b8d8d2031cc24f73601ad531", + "size": "2048x2048", + "seed": 731, + "task": "text-to-image", + "quality": "lossless", + "output_compression": 1, + "attention_override": null, + "h3_opt": null, + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text." + }, + "reference_images": [], + "reference_sha256": [], + "dit": { + "precision": "BF16" + }, + "vae": { + "quality": "lossless" + } +} diff --git a/comparisons/edit-example/record.json b/comparisons/edit-example/record.json new file mode 100644 index 0000000000000000000000000000000000000000..a3721f75a6e087375aeb59d5aaa17bc88c5aa703 --- /dev/null +++ b/comparisons/edit-example/record.json @@ -0,0 +1,120 @@ +{ + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "seed": 42, + "size": [ + 1024, + 1024 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 28.711510707857087, + "dit_setup_s": 0.3510471251793206, + "step_0_s": 32.27381366607733, + "step_1_s": 18.178750790888444, + "step_2_s": 17.952110541053116, + "step_3_s": 17.822316124802455, + "step_4_s": 17.744772125035524, + "step_5_s": 17.770629958016798, + "decode_s": 4.267031416995451, + "total_s": 157.7393269999884 + }, + "reference_images": [ + "experiments/reference-bottle.png" + ], + "reference_sha256": [ + "96d23a5fb97d8dbff46990ec6c13a8caf8573f2b4d41820c9cae0efc3d0b872c" + ], + "conditioning_cache_hit": false, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 16.658172828843817, + "block_compute_s": 105.10201758518815, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.05878337472677, + "peak_gb": 37.71541484631598, + "cache_gb": 0.9982056273147464 + }, + "memory": { + "active_gb": 36.81037116795778, + "peak_gb": 37.71541484631598, + "cache_gb": 0.31941457837820053 + }, + "output": "outputs/suite/edit/native-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" +} diff --git a/comparisons/native-4k-cuda/metrics.json b/comparisons/native-4k-cuda/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..e6423929b7b545260e0e7946618f6d8d9958f711 --- /dev/null +++ b/comparisons/native-4k-cuda/metrics.json @@ -0,0 +1,75 @@ +{ + "validation_scope": "Cross-backend comparison: hardware and VAE quality settings differ. Timings do not isolate a port speedup.", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/native-4k.png", + "native_size": [ + 4096, + 4096 + ], + "crop_xyxy": [ + 1792, + 1792, + 2304, + 2304 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "CUDA BF16 / upstream lossless quality", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/native-4k.png", + "png_sha256": "7fd381c76d07a3f5a5e3f1982d454d31c56101f9af22c70900aab983e8465bee", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "total_s": 32.5837 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "MLX BF16 / native tile recipe", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/native-4k/native-0.png", + "png_sha256": "9f5b1f2a4d1ef45900e8afd7bf132e43f437c0ded73a79aa6992fe0a968de3c6", + "pixel_identical": false, + "mae_8bit": 10.43891042470932, + "max_error_8bit": 255, + "psnr_db": 21.472787391510856, + "ssim_rgb": 0.8437432938484267, + "timings": { + "encode_s": 39.3051441248972, + "dit_setup_s": 1.2301222910173237, + "step_0_s": 71.125005583046, + "step_1_s": 65.16590758296661, + "step_2_s": 65.27136183297262, + "step_3_s": 65.02919550007209, + "step_4_s": 65.43438254203647, + "step_5_s": 65.73626679205336, + "decode_s": 12.110308207804337 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..dcffb0832d29e328fbe77999f3f3365c69fbdb45 --- /dev/null +++ b/comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/edit/control-validation-0.png", + "native_size": [ + 1024, + 1024 + ], + "crop_xyxy": [ + 256, + 256, + 768, + 768 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/edit/control-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.0944433338008821, + "dit_setup_s": 0.018301625037565827, + "step_0_s": 16.044049208052456, + "step_1_s": 16.64705704106018, + "step_2_s": 16.798973750090227, + "step_3_s": 16.80766825005412, + "step_4_s": 16.82632016693242, + "step_5_s": 16.788526582997292, + "decode_s": 1.7753529578913003, + "total_s": 104.33122787508182 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09382429183460772, + "dit_setup_s": 0.005678124958649278, + "step_0_s": 15.517480874899775, + "step_1_s": 15.885630707954988, + "step_2_s": 16.043985707918182, + "step_3_s": 16.065357791027054, + "step_4_s": 16.00308766681701, + "step_5_s": 16.0314345411025, + "decode_s": 1.806969250086695, + "total_s": 99.78968337504193 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..4e14438e0053c2b33e5db0e0cba1dd854595a57b --- /dev/null +++ b/comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/holdout-detail/control-validation-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/holdout-detail/control-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08503512479364872, + "dit_setup_s": 0.0054474580101668835, + "step_0_s": 10.586685917107388, + "step_1_s": 10.475943374913186, + "step_2_s": 10.536071791080758, + "step_3_s": 10.609299124917015, + "step_4_s": 10.648755833040923, + "step_5_s": 10.659710499923676, + "decode_s": 1.892699166899547, + "total_s": 65.62054104101844 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08309245808050036, + "dit_setup_s": 0.0016110001597553492, + "step_0_s": 10.02036679093726, + "step_1_s": 10.222182292025536, + "step_2_s": 10.317761083133519, + "step_3_s": 10.258633374935016, + "step_4_s": 10.214116165880114, + "step_5_s": 10.211255375063047, + "decode_s": 1.9069041248876601, + "total_s": 63.36157112498768 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..5d8bf1ef221f40519345462bb0a06cbfe2ee5785 --- /dev/null +++ b/comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/portrait/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/portrait/control-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08196645905263722, + "dit_setup_s": 0.0020813329610973597, + "step_0_s": 10.599762792000547, + "step_1_s": 10.859696834115312, + "step_2_s": 10.841980583034456, + "step_3_s": 10.818649291992188, + "step_4_s": 10.812689499929547, + "step_5_s": 10.815967541886494, + "decode_s": 1.8206247920170426, + "total_s": 66.77446975000203 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08218058408237994, + "dit_setup_s": 0.0021450419444590807, + "step_0_s": 10.038613541051745, + "step_1_s": 10.278275415999815, + "step_2_s": 10.234170750016347, + "step_3_s": 10.295444874791428, + "step_4_s": 10.20847308402881, + "step_5_s": 10.264521708944812, + "decode_s": 1.9153460001107305, + "total_s": 63.443048041081056 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..6d4ac38c9271c2cc5c8060c8a2cc4713e9904b26 --- /dev/null +++ b/comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/product/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/product/control-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08302924991585314, + "dit_setup_s": 0.0021304169204086065, + "step_0_s": 10.524454500060529, + "step_1_s": 10.518413708079606, + "step_2_s": 10.792438166914508, + "step_3_s": 10.938075749902055, + "step_4_s": 10.803379165939987, + "step_5_s": 10.852768250042573, + "decode_s": 1.939876874908805, + "total_s": 66.73659237497486 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08724224986508489, + "dit_setup_s": 0.0015401248820126057, + "step_0_s": 10.171907834010199, + "step_1_s": 10.420595958130434, + "step_2_s": 10.435337207978591, + "step_3_s": 10.569814499933273, + "step_4_s": 10.503622999880463, + "step_5_s": 10.588133125100285, + "decode_s": 1.9536084169521928, + "total_s": 64.8621540828608 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json b/comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..9da16e4aa857e7d1c5c28092a72c4679d4a59d6a --- /dev/null +++ b/comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/edit/control-validation-0.png", + "native_size": [ + 1024, + 1024 + ], + "crop_xyxy": [ + 256, + 256, + 768, + 768 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/edit/control-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09496295801363885, + "dit_setup_s": 0.018790250178426504, + "step_0_s": 16.496046874905005, + "step_1_s": 17.588394791819155, + "step_2_s": 17.459331332938746, + "step_3_s": 17.59560624998994, + "step_4_s": 17.775859917048365, + "step_5_s": 17.98469966603443, + "decode_s": 1.7778672080021352, + "total_s": 109.37410999997519 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.0946252909488976, + "dit_setup_s": 0.005771707976236939, + "step_0_s": 15.780252208001912, + "step_1_s": 16.24150708410889, + "step_2_s": 16.135149333858863, + "step_3_s": 16.180468250066042, + "step_4_s": 16.37875320808962, + "step_5_s": 16.147045334102586, + "decode_s": 1.7784138328861445, + "total_s": 100.89215162489563 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json b/comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..0ffc40d85d71c361ddf960e787b52384cd692344 --- /dev/null +++ b/comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08760958397760987, + "dit_setup_s": 0.005459541920572519, + "step_0_s": 10.42564162495546, + "step_1_s": 10.77243841602467, + "step_2_s": 10.619838000042364, + "step_3_s": 10.630091832950711, + "step_4_s": 10.930967458989471, + "step_5_s": 10.638426082907245, + "decode_s": 1.9144813329912722, + "total_s": 66.1562814170029 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08267062506638467, + "dit_setup_s": 0.002635624958202243, + "step_0_s": 9.876321790972725, + "step_1_s": 9.873472125036642, + "step_2_s": 9.758229917148128, + "step_3_s": 9.659938625060022, + "step_4_s": 9.70524508296512, + "step_5_s": 9.690499417018145, + "decode_s": 1.8380374158732593, + "total_s": 60.60736404103227 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json b/comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..feb1598230e711418e6901c52cb7eb3d49eabbfb --- /dev/null +++ b/comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/portrait/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/portrait/control-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08375041605904698, + "dit_setup_s": 0.0014606250915676355, + "step_0_s": 10.343989124987274, + "step_1_s": 10.484140957938507, + "step_2_s": 10.492746208095923, + "step_3_s": 10.494633583119139, + "step_4_s": 10.36117170797661, + "step_5_s": 10.398765416117385, + "decode_s": 1.8557565829250962, + "total_s": 64.64417616720311 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08595199999399483, + "dit_setup_s": 0.0023597090039402246, + "step_0_s": 9.701315457932651, + "step_1_s": 9.964592250064015, + "step_2_s": 9.679471249924973, + "step_3_s": 9.77542870794423, + "step_4_s": 9.722767374943942, + "step_5_s": 9.726279291789979, + "decode_s": 1.84116454096511, + "total_s": 60.62431841692887 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json b/comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..f378b3488b3f5fc51142866f0caf0ae13f6e5724 --- /dev/null +++ b/comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/product/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/product/control-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08194691711105406, + "dit_setup_s": 0.001686332980170846, + "step_0_s": 10.51596958306618, + "step_1_s": 11.313274249900132, + "step_2_s": 11.170203125104308, + "step_3_s": 11.17257241695188, + "step_4_s": 11.15542795881629, + "step_5_s": 11.049065208993852, + "decode_s": 1.9435918340459466, + "total_s": 68.77809108304791 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09126312495209277, + "dit_setup_s": 0.0016431249678134918, + "step_0_s": 10.12600183300674, + "step_1_s": 10.25785204092972, + "step_2_s": 10.31819008407183, + "step_3_s": 10.244670124957338, + "step_4_s": 10.107232958078384, + "step_5_s": 10.029554083012044, + "decode_s": 1.9170843749307096, + "total_s": 63.23245245893486 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..961e88cfcf6ae2fe2be34f0fddd2d1e58e4095ae --- /dev/null +++ b/comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/edit/control-validation-0.png", + "native_size": [ + 1024, + 1024 + ], + "crop_xyxy": [ + 256, + 256, + 768, + 768 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/edit/control-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09503345820121467, + "dit_setup_s": 0.018574999878183007, + "step_0_s": 16.138278875034302, + "step_1_s": 17.324966541025788, + "step_2_s": 17.10170820890926, + "step_3_s": 17.527415458112955, + "step_4_s": 17.178513792110607, + "step_5_s": 17.10299470787868, + "decode_s": 1.7370757500175387, + "total_s": 107.01361245894805 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09180762502364814, + "dit_setup_s": 0.00593545800074935, + "step_0_s": 15.591749583836645, + "step_1_s": 16.14866058388725, + "step_2_s": 16.148559999885038, + "step_3_s": 16.13089166698046, + "step_4_s": 16.0815456667915, + "step_5_s": 16.000552749959752, + "decode_s": 1.7590807920787483, + "total_s": 100.12193545908667 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..9578f90242a2a7ac08a4d3e2b9c3ece496b97593 --- /dev/null +++ b/comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/holdout-detail/control-validation-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/holdout-detail/control-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08907995908521116, + "dit_setup_s": 0.005445417016744614, + "step_0_s": 10.186366624897346, + "step_1_s": 10.398944000015035, + "step_2_s": 10.388187959091738, + "step_3_s": 10.393390582874417, + "step_4_s": 10.412437124876305, + "step_5_s": 10.425708208000287, + "decode_s": 1.8648124169558287, + "total_s": 64.29311916604638 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08324970793910325, + "dit_setup_s": 0.002322999993339181, + "step_0_s": 9.82555766706355, + "step_1_s": 10.011389791965485, + "step_2_s": 10.023319042054936, + "step_3_s": 9.948340374976397, + "step_4_s": 9.975905125029385, + "step_5_s": 10.093045125016943, + "decode_s": 1.8749908339232206, + "total_s": 61.96455545909703 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..3672cc9296e65d8a0c6784c56b4a8f1ba24ba3bd --- /dev/null +++ b/comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/portrait/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/portrait/control-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08343583298847079, + "dit_setup_s": 0.001739458180963993, + "step_0_s": 10.410045666852966, + "step_1_s": 10.420791167067364, + "step_2_s": 10.387041166890413, + "step_3_s": 10.363457958912477, + "step_4_s": 10.30392266716808, + "step_5_s": 10.31452420912683, + "decode_s": 1.8196195410564542, + "total_s": 64.2339057920035 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08363316603936255, + "dit_setup_s": 0.0014190839137881994, + "step_0_s": 9.715915624983609, + "step_1_s": 9.817784250015393, + "step_2_s": 9.768883208977059, + "step_3_s": 9.779015209060162, + "step_4_s": 9.768648916855454, + "step_5_s": 9.780800291104242, + "decode_s": 1.8109615000430495, + "total_s": 60.65490966709331 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json b/comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..bb32a8b7420b1f7f3857eee3fd9a364068cf9f77 --- /dev/null +++ b/comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/product/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/product/control-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08855687500908971, + "dit_setup_s": 0.0017782910726964474, + "step_0_s": 9.8694685830269, + "step_1_s": 11.024087708909065, + "step_2_s": 10.974625166971236, + "step_3_s": 10.970295834122226, + "step_4_s": 10.889125291956589, + "step_5_s": 10.934292541118339, + "decode_s": 1.9161692501511425, + "total_s": 67.02427170914598 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2-native-norm", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08656845916993916, + "dit_setup_s": 0.0020523329731076956, + "step_0_s": 10.22877712501213, + "step_1_s": 10.409983040997759, + "step_2_s": 10.289188583847135, + "step_3_s": 10.299693416105583, + "step_4_s": 10.278323167003691, + "step_5_s": 10.27706433297135, + "decode_s": 1.8995202500373125, + "total_s": 63.90098704188131 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3/edit/qk-fc2/metrics.json b/comparisons/optimization-r3/edit/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..cf44a17db654d90c6c1e1d6f07be41740ff3e296 --- /dev/null +++ b/comparisons/optimization-r3/edit/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/edit/control-validation-0.png", + "native_size": [ + 1024, + 1024 + ], + "crop_xyxy": [ + 256, + 256, + 768, + 768 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/edit/control-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09193570795468986, + "dit_setup_s": 0.00586116686463356, + "step_0_s": 17.43612916697748, + "step_1_s": 17.915810333099216, + "step_2_s": 17.71518375002779, + "step_3_s": 17.54526187502779, + "step_4_s": 17.438321667024866, + "step_5_s": 17.364450709195808, + "decode_s": 1.7734632920473814, + "total_s": 109.67779112490825 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/edit/qk-fc2-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09640745911747217, + "dit_setup_s": 0.006049292162060738, + "step_0_s": 15.941608458058909, + "step_1_s": 16.155159290879965, + "step_2_s": 16.165109500056133, + "step_3_s": 16.26405395916663, + "step_4_s": 16.198108582990244, + "step_5_s": 16.064961167052388, + "decode_s": 1.7583504170179367, + "total_s": 100.86470816703513 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3/gallery.json b/comparisons/optimization-r3/gallery.json new file mode 100644 index 0000000000000000000000000000000000000000..9178fcbb4b3a0a157a917a22b55873f04dd5256d --- /dev/null +++ b/comparisons/optimization-r3/gallery.json @@ -0,0 +1,98 @@ +[ + { + "group": "Exact Q/K fusion + FC2 tuning", + "case": "product", + "gallery": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/index.html", + "metrics_sha256": "49cb9beabd26f0fd062720ff5778e706fe60e06d31cfb88e3d2ece05c502f893", + "grid_sha256": "be898f85d2c0bcd0a90d9a4800cf80e7d3beae1c3df656280fb28b92cb015ac7", + "pixel_identical": true + }, + { + "group": "Exact Q/K fusion + FC2 tuning", + "case": "portrait", + "gallery": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/index.html", + "metrics_sha256": "9ea037662ba4f0e1edf08d83c6fab2e9929626831cc32a4a61ed540e531e8807", + "grid_sha256": "700c4593945ef70374cf8ca8d78e516d2acc04b122906538b2976b0d659a59de", + "pixel_identical": true + }, + { + "group": "Exact Q/K fusion + FC2 tuning", + "case": "holdout-detail", + "gallery": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/index.html", + "metrics_sha256": "4775d06f38348f216efb8b5ba42ada72077ef087d65b83f8e3accdfa1af87df9", + "grid_sha256": "31f84926000a62f32f753bd338c9b36f17188cd35acd1a63cf3d70eaaf33f73d", + "pixel_identical": true + }, + { + "group": "Exact Q/K fusion + FC2 tuning", + "case": "edit", + "gallery": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/index.html", + "metrics_sha256": "d1969a84e778912065751bba2037db6c13a74aa32c0f442ecc61c5b82eee8da9", + "grid_sha256": "5da61cb450c4b90fad6f42178b6a22367db5a54c02aaf7b47b215a8bd196047c", + "pixel_identical": true + }, + { + "group": "Lossless packed weights + exact tuning", + "case": "product", + "gallery": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/index.html", + "metrics_sha256": "b463bc389757d18fb52f502a1e6f3a564c975f6beb13ca2321c39a57cf86e1b7", + "grid_sha256": "be898f85d2c0bcd0a90d9a4800cf80e7d3beae1c3df656280fb28b92cb015ac7", + "pixel_identical": true + }, + { + "group": "Lossless packed weights + exact tuning", + "case": "portrait", + "gallery": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/index.html", + "metrics_sha256": "45f490f5a6ec12f32db054f4aedee0b7dbe302592018b24116be3e06702cadb4", + "grid_sha256": "700c4593945ef70374cf8ca8d78e516d2acc04b122906538b2976b0d659a59de", + "pixel_identical": true + }, + { + "group": "Lossless packed weights + exact tuning", + "case": "holdout-detail", + "gallery": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/index.html", + "metrics_sha256": "575108c69e22d78093498f7db49bfd8cd96ef4886c1c0049852746c5de874d56", + "grid_sha256": "31f84926000a62f32f753bd338c9b36f17188cd35acd1a63cf3d70eaaf33f73d", + "pixel_identical": true + }, + { + "group": "Lossless packed weights + exact tuning", + "case": "edit", + "gallery": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/index.html", + "metrics_sha256": "1b521c42efdca3075605036fc51bc86e27c3cd9fb8c3aded100085a30422c427", + "grid_sha256": "5da61cb450c4b90fad6f42178b6a22367db5a54c02aaf7b47b215a8bd196047c", + "pixel_identical": true + }, + { + "group": "Full-width fusion: exact pixels, memory tradeoff", + "case": "product", + "gallery": "comparisons/optimization-r3-deployment/product/qk-fc2/index.html", + "metrics_sha256": "5a3bc54f6b0916d83a1bf70d7af55989a234011fdcd2409fc74955a289783b03", + "grid_sha256": "b7d9451370370d8428aad4847d86ac3982ceec1c5b4af0b90c5bb43d77e9a21f", + "pixel_identical": true + }, + { + "group": "Full-width fusion: exact pixels, memory tradeoff", + "case": "portrait", + "gallery": "comparisons/optimization-r3-deployment/portrait/qk-fc2/index.html", + "metrics_sha256": "859bd41ce5bd6c6611dfc3716cfdb4e698869477856c8c55e0cccc5314c8b4cd", + "grid_sha256": "517416f9020f0be9692914e18ba0bd8c5e11df84bc4bf1e1afc732f06b2606a2", + "pixel_identical": true + }, + { + "group": "Full-width fusion: exact pixels, memory tradeoff", + "case": "holdout-detail", + "gallery": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/index.html", + "metrics_sha256": "7ff107dd7a594c524c3096601ce938c2485b97d2dce22a6250506d37ac86ea52", + "grid_sha256": "47bac50ff41f08d8ae4e45fd7e269340aadca8e7fdec4fb0c889ab6bd8db1e88", + "pixel_identical": true + }, + { + "group": "Full-width fusion: exact pixels, memory tradeoff", + "case": "edit", + "gallery": "comparisons/optimization-r3-deployment/edit/qk-fc2/index.html", + "metrics_sha256": "a9881cfa4f375b17fc9872cdd162bf864313b8c7b17bf5797a619f998f063f92", + "grid_sha256": "52d3a40d35505c1c893c2e1917d7367b9aa3faf815b341f6740b5eccbea3280b", + "pixel_identical": true + } +] diff --git a/comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json b/comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..8bee234fe4a5a292b8413834706f2d8afaefc5a8 --- /dev/null +++ b/comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/holdout-detail/control-validation-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/holdout-detail/control-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08546350011602044, + "dit_setup_s": 0.0028562501538544893, + "step_0_s": 10.619318875018507, + "step_1_s": 10.635955666890368, + "step_2_s": 10.632296457886696, + "step_3_s": 10.644406750099733, + "step_4_s": 10.566011917078868, + "step_5_s": 10.629142459016293, + "decode_s": 1.9020051669795066, + "total_s": 65.84704962512478 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08358391700312495, + "dit_setup_s": 0.0018770832102745771, + "step_0_s": 9.848138374974951, + "step_1_s": 9.98282212507911, + "step_2_s": 10.09999533300288, + "step_3_s": 10.163251249818131, + "step_4_s": 10.270917958114296, + "step_5_s": 10.198511166963726, + "decode_s": 1.904920166125521, + "total_s": 62.68734062509611 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3/portrait/qk-fc2/metrics.json b/comparisons/optimization-r3/portrait/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..d6099d3c2add26dc47a85515f0269a2a3ebf4f2a --- /dev/null +++ b/comparisons/optimization-r3/portrait/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/portrait/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/portrait/control-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08550125011242926, + "dit_setup_s": 0.0015632910653948784, + "step_0_s": 10.885879541980103, + "step_1_s": 11.088049875106663, + "step_2_s": 11.107039166148752, + "step_3_s": 11.065090750111267, + "step_4_s": 10.819651541067287, + "step_5_s": 10.922892624977976, + "decode_s": 1.9121064159553498, + "total_s": 68.0219049169682 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/portrait/qk-fc2-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08716454193927348, + "dit_setup_s": 0.0025339999701827765, + "step_0_s": 10.343852832913399, + "step_1_s": 10.311937124934047, + "step_2_s": 10.07040312513709, + "step_3_s": 10.080784375080839, + "step_4_s": 10.095044541871175, + "step_5_s": 10.125651291804388, + "decode_s": 1.8876813750248402, + "total_s": 63.14736045780592 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-r3/product/qk-fc2/metrics.json b/comparisons/optimization-r3/product/qk-fc2/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..50f981f333653f01b91bdb1fea09baf0115e87c0 --- /dev/null +++ b/comparisons/optimization-r3/product/qk-fc2/metrics.json @@ -0,0 +1,85 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/product/control-timed-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Current BF16 control", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/product/control-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.0853560408577323, + "dit_setup_s": 0.0015609171241521835, + "step_0_s": 10.232307167025283, + "step_1_s": 11.155369125073776, + "step_2_s": 11.181794625008479, + "step_3_s": 11.19105491694063, + "step_4_s": 11.266168375033885, + "step_5_s": 11.14753987500444, + "decode_s": 1.9626916251145303, + "total_s": 68.59933650004677 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "qk-fc2", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/product/qk-fc2-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.0866880000103265, + "dit_setup_s": 0.0022984161041677, + "step_0_s": 10.573326792102307, + "step_1_s": 10.764806583058089, + "step_2_s": 10.743913582991809, + "step_3_s": 10.55372745799832, + "step_4_s": 10.52767491596751, + "step_5_s": 10.614938125014305, + "decode_s": 1.9278774580452591, + "total_s": 65.93319679214619 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/metrics.json b/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..b3ffe57d9e443bf98de5cfd7e097cef9063d80f0 --- /dev/null +++ b/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/metrics.json @@ -0,0 +1,76 @@ +{ + "validation_scope": "Same final latent; decoder-only comparison. Source-generation and decoder-only timings have different scopes.", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Native BF16 decoder", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09756437502801418, + "dit_setup_s": 1.1571008330211043, + "step_0_s": 10.822453290922567, + "step_1_s": 11.303021250059828, + "step_2_s": 11.45283200009726, + "step_3_s": 11.480994417099282, + "step_4_s": 11.41636574990116, + "step_5_s": 11.394194666063413, + "decode_s": 3.528030874906108, + "total_s": 72.77735170791857 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Core ML CPU_AND_NE, batch 1, contiguous bridge", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.png", + "png_sha256": "a72edf0d9bd4148b6c1d22821102bd096229911889e1d5d95350bddc545a34ac", + "pixel_identical": false, + "mae_8bit": 1.1787954171498616, + "max_error_8bit": 43, + "psnr_db": 42.42709412463761, + "ssim_rgb": 0.9889744364650547, + "timings": { + "decode_s": 30.625669125001878 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "One complete decoder pass; model loading excluded" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json b/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json new file mode 100644 index 0000000000000000000000000000000000000000..0095f7464ae773c222cab03fd85fcf69a949df98 --- /dev/null +++ b/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json @@ -0,0 +1,68 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "validation_scope": "Same final latent; decoder only", + "timing_scope": "One complete decoder pass; model loading excluded", + "timings": { + "decode_s": 30.625669125001878 + }, + "load_s": 47.709695749916136, + "vae_backend": "coreml", + "vae": { + "batch": 1, + "compute_units": "CPU_AND_NE" + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.png", + "png_sha256": "a72edf0d9bd4148b6c1d22821102bd096229911889e1d5d95350bddc545a34ac", + "numpy_bridge": { + "output_shape": [ + 1, + 3, + 256, + 256 + ], + "output_strides": [ + 786432, + 262144, + 1024, + 4 + ], + "output_c_contiguous": true, + "original_mlx_numpy_import_exact": true + }, + "pixel_identical": false, + "mae_8bit": 1.1787954171498616, + "max_error_8bit": 43, + "psnr_db": 42.42709412463761, + "ssim_rgb": 0.9889744364650547 +} diff --git a/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/comparison/metrics.json b/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/comparison/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..fd1c61f1bce24fb55f280cb41bf3d5774d9abd05 --- /dev/null +++ b/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/comparison/metrics.json @@ -0,0 +1,76 @@ +{ + "validation_scope": "Same final latent; decoder-only comparison. Source-generation and decoder-only timings have different scopes.", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Native BF16 decoder", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09756437502801418, + "dit_setup_s": 1.1571008330211043, + "step_0_s": 10.822453290922567, + "step_1_s": 11.303021250059828, + "step_2_s": 11.45283200009726, + "step_3_s": 11.480994417099282, + "step_4_s": 11.41636574990116, + "step_5_s": 11.394194666063413, + "decode_s": 3.528030874906108, + "total_s": 72.77735170791857 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Core ML CPU_AND_GPU, batch 8, contiguous bridge", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a", + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968, + "timings": { + "decode_s": 1.8162069998215884 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "One complete decoder pass; model loading excluded" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json b/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json new file mode 100644 index 0000000000000000000000000000000000000000..e5efac62d0019d7d5f685bad342046f912d2bcaf --- /dev/null +++ b/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json @@ -0,0 +1,68 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "validation_scope": "Same final latent; decoder only", + "timing_scope": "One complete decoder pass; model loading excluded", + "timings": { + "decode_s": 1.8162069998215884 + }, + "load_s": 10.882885874947533, + "vae_backend": "coreml", + "vae": { + "batch": 8, + "compute_units": "CPU_AND_GPU" + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a", + "numpy_bridge": { + "output_shape": [ + 8, + 3, + 256, + 256 + ], + "output_strides": [ + 786432, + 262144, + 1024, + 4 + ], + "output_c_contiguous": true, + "original_mlx_numpy_import_exact": true + }, + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968 +} diff --git a/comparisons/optimization-v2/decoder-all-product/comparison/metrics.json b/comparisons/optimization-v2/decoder-all-product/comparison/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..bddf2643eede70f674c183726d18f8ea47c0d34b --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/comparison/metrics.json @@ -0,0 +1,221 @@ +{ + "validation_scope": "Same final latent; decoder only", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/native-b1.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "native-b1", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 3.125603290973231 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/native-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 2.1325830419082195 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/compiled-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 1.557951333001256 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382, + "timings": { + "decode_s": 2.0152519999537617 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382, + "timings": { + "decode_s": 1.530723667005077 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "coreml-CPU_ONLY", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/coreml-CPU_ONLY.png", + "png_sha256": "c5809bfbd3200cf980bc95960e34a52de821e9fcf529cfcddfa208c5b47dc628", + "pixel_identical": false, + "mae_8bit": 0.4373479684193929, + "max_error_8bit": 9, + "psnr_db": 50.89646445204675, + "ssim_rgb": 0.9957860092520554, + "timings": { + "decode_s": 11.089322166983038 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "coreml-CPU_AND_GPU", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_GPU.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a", + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968, + "timings": { + "decode_s": 2.221881916979328 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "coreml-CPU_AND_NE", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_NE.png", + "png_sha256": "20a955de357bba74e2e00fc914a12e9ebea3696326c8bd70245eff45585bd6cc", + "pixel_identical": false, + "mae_8bit": 24.426151911417644, + "max_error_8bit": 255, + "psnr_db": 14.66893789509745, + "ssim_rgb": 0.49229784661575254, + "timings": { + "decode_s": 7.746493499958888 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "coreml-ALL", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-all-product/coreml-ALL.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a", + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968, + "timings": { + "decode_s": 2.028364749858156 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/decoder-all-product/compiled-b4.json b/comparisons/optimization-v2/decoder-all-product/compiled-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..fa4f86e841b1cc5fc27344531b173addbcb8eb90 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/compiled-b4.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.557951333001256 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/compiled-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-all-product/compiled-b8.json b/comparisons/optimization-v2/decoder-all-product/compiled-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..b1c021952bda74b30783d3cdeb960eed67d9603e --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/compiled-b8.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.530723667005077 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/decoder-all-product/coreml-ALL.json b/comparisons/optimization-v2/decoder-all-product/coreml-ALL.json new file mode 100644 index 0000000000000000000000000000000000000000..4bec6dda4fe377887afda060aecec3805f620939 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/coreml-ALL.json @@ -0,0 +1,73 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "compute_units": "ALL" + }, + "vae_backend": "coreml", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.028364749858156 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/coreml-ALL.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a" +} diff --git a/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_GPU.json b/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_GPU.json new file mode 100644 index 0000000000000000000000000000000000000000..585fe3a8ed53205fc3fcd20469151f4df6399a44 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_GPU.json @@ -0,0 +1,73 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "compute_units": "CPU_AND_GPU" + }, + "vae_backend": "coreml", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.221881916979328 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_GPU.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a" +} diff --git a/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_NE.json b/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_NE.json new file mode 100644 index 0000000000000000000000000000000000000000..ab43519fec933d0616e0c12b49db3e3842a5ed24 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_NE.json @@ -0,0 +1,73 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "compute_units": "CPU_AND_NE" + }, + "vae_backend": "coreml", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 7.746493499958888 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_NE.png", + "png_sha256": "20a955de357bba74e2e00fc914a12e9ebea3696326c8bd70245eff45585bd6cc" +} diff --git a/comparisons/optimization-v2/decoder-all-product/coreml-CPU_ONLY.json b/comparisons/optimization-v2/decoder-all-product/coreml-CPU_ONLY.json new file mode 100644 index 0000000000000000000000000000000000000000..7a87c75bd670e06920060bfd8ad7233761fcf0e0 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/coreml-CPU_ONLY.json @@ -0,0 +1,73 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "compute_units": "CPU_ONLY" + }, + "vae_backend": "coreml", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 11.089322166983038 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/coreml-CPU_ONLY.png", + "png_sha256": "c5809bfbd3200cf980bc95960e34a52de821e9fcf529cfcddfa208c5b47dc628" +} diff --git a/comparisons/optimization-v2/decoder-all-product/native-b1.json b/comparisons/optimization-v2/decoder-all-product/native-b1.json new file mode 100644 index 0000000000000000000000000000000000000000..b44a77ff087a7c75215e94482c8b96e9d4813674 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/native-b1.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 1 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 3.125603290973231 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-all-product/native-b4.json b/comparisons/optimization-v2/decoder-all-product/native-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..d5707e8c33136ed28510db9325a512149418fe9c --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/native-b4.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.1325830419082195 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/native-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-all-product/native-b8.json b/comparisons/optimization-v2/decoder-all-product/native-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..aabe6063c67afb6dcf54b8c5d6ebd813e514390a --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/native-b8.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.0152519999537617 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-all-product/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/decoder-all-product/trials.json b/comparisons/optimization-v2/decoder-all-product/trials.json new file mode 100644 index 0000000000000000000000000000000000000000..17453f3066f8c6be9fc8b7be404232e37f5b2c83 --- /dev/null +++ b/comparisons/optimization-v2/decoder-all-product/trials.json @@ -0,0 +1,132 @@ +{ + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "scope": "Same final latent, decoder-only hot latency", + "trials": [ + { + "variant": "native-b1", + "median_ms": 3125.603290973231, + "min_ms": 3125.603290973231, + "max_ms": 3125.603290973231, + "samples_ms": [ + 3125.603290973231 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b4", + "median_ms": 2132.5830419082195, + "min_ms": 2132.5830419082195, + "max_ms": 2132.5830419082195, + "samples_ms": [ + 2132.5830419082195 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "compiled-b4", + "median_ms": 1557.951333001256, + "min_ms": 1557.951333001256, + "max_ms": 1557.951333001256, + "samples_ms": [ + 1557.951333001256 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b8", + "median_ms": 2015.2519999537617, + "min_ms": 2015.2519999537617, + "max_ms": 2015.2519999537617, + "samples_ms": [ + 2015.2519999537617 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382 + }, + { + "variant": "compiled-b8", + "median_ms": 1530.723667005077, + "min_ms": 1530.723667005077, + "max_ms": 1530.723667005077, + "samples_ms": [ + 1530.723667005077 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382 + }, + { + "variant": "coreml-CPU_ONLY", + "median_ms": 11089.322166983038, + "min_ms": 11089.322166983038, + "max_ms": 11089.322166983038, + "samples_ms": [ + 11089.322166983038 + ], + "pixel_identical": false, + "mae_8bit": 0.4373479684193929, + "max_error_8bit": 9, + "psnr_db": 50.89646445204675, + "ssim_rgb": 0.9957860092520554 + }, + { + "variant": "coreml-CPU_AND_GPU", + "median_ms": 2221.881916979328, + "min_ms": 2221.881916979328, + "max_ms": 2221.881916979328, + "samples_ms": [ + 2221.881916979328 + ], + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968 + }, + { + "variant": "coreml-CPU_AND_NE", + "median_ms": 7746.493499958888, + "min_ms": 7746.493499958888, + "max_ms": 7746.493499958888, + "samples_ms": [ + 7746.493499958888 + ], + "pixel_identical": false, + "mae_8bit": 24.426151911417644, + "max_error_8bit": 255, + "psnr_db": 14.66893789509745, + "ssim_rgb": 0.49229784661575254 + }, + { + "variant": "coreml-ALL", + "median_ms": 2028.3647498581558, + "min_ms": 2028.3647498581558, + "max_ms": 2028.3647498581558, + "samples_ms": [ + 2028.3647498581558 + ], + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968 + } + ] +} diff --git a/comparisons/optimization-v2/decoder-ane-b1/compiled-b4.json b/comparisons/optimization-v2/decoder-ane-b1/compiled-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..338530eb0be62e0cae31440c5b52292f8269010c --- /dev/null +++ b/comparisons/optimization-v2/decoder-ane-b1/compiled-b4.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.5069015838671476 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-ane-b1/compiled-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-ane-b1/compiled-b8.json b/comparisons/optimization-v2/decoder-ane-b1/compiled-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..42845fc36c574accccae53a4a3c88ee8dc3b9244 --- /dev/null +++ b/comparisons/optimization-v2/decoder-ane-b1/compiled-b8.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.5288700831588358 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-ane-b1/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/decoder-ane-b1/native-b1.json b/comparisons/optimization-v2/decoder-ane-b1/native-b1.json new file mode 100644 index 0000000000000000000000000000000000000000..4e580dcfa798062504f8d2c78bf653cd12de6900 --- /dev/null +++ b/comparisons/optimization-v2/decoder-ane-b1/native-b1.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 1 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.861304124817252 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-ane-b1/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-ane-b1/native-b4.json b/comparisons/optimization-v2/decoder-ane-b1/native-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..78170020aa4a589226f3c1e72473b87e6d03ae95 --- /dev/null +++ b/comparisons/optimization-v2/decoder-ane-b1/native-b4.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.9998439170885831 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-ane-b1/native-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-ane-b1/native-b8.json b/comparisons/optimization-v2/decoder-ane-b1/native-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..9530d0adda37425e7191fef3632ea3536fe011fa --- /dev/null +++ b/comparisons/optimization-v2/decoder-ane-b1/native-b8.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.9231802090071142 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-ane-b1/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/decoder-ane-b1/trials.json b/comparisons/optimization-v2/decoder-ane-b1/trials.json new file mode 100644 index 0000000000000000000000000000000000000000..1787725472f0b3adf9f8aca3b5bb43fdeb9960a0 --- /dev/null +++ b/comparisons/optimization-v2/decoder-ane-b1/trials.json @@ -0,0 +1,76 @@ +{ + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "scope": "Same final latent, decoder-only hot latency", + "trials": [ + { + "variant": "native-b1", + "median_ms": 2861.304124817252, + "min_ms": 2861.304124817252, + "max_ms": 2861.304124817252, + "samples_ms": [ + 2861.304124817252 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b4", + "median_ms": 1999.843917088583, + "min_ms": 1999.843917088583, + "max_ms": 1999.843917088583, + "samples_ms": [ + 1999.843917088583 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "compiled-b4", + "median_ms": 1506.9015838671476, + "min_ms": 1506.9015838671476, + "max_ms": 1506.9015838671476, + "samples_ms": [ + 1506.9015838671476 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b8", + "median_ms": 1923.1802090071142, + "min_ms": 1923.1802090071142, + "max_ms": 1923.1802090071142, + "samples_ms": [ + 1923.1802090071142 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382 + }, + { + "variant": "compiled-b8", + "median_ms": 1528.8700831588358, + "min_ms": 1528.8700831588358, + "max_ms": 1528.8700831588358, + "samples_ms": [ + 1528.8700831588358 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382 + } + ] +} diff --git a/comparisons/optimization-v2/decoder-portrait/comparison/metrics.json b/comparisons/optimization-v2/decoder-portrait/comparison/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..4990ab363dc585033cd452dbaed54686c3d1dd4b --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/comparison/metrics.json @@ -0,0 +1,155 @@ +{ + "validation_scope": "Same final latent; decoder only", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/native-b1.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "native-b1", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/native-b1.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 5.739497271017171 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/native-b4.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 2.6730494999792427 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/compiled-b4.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 1.929837999981828 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/native-b8.png", + "png_sha256": "a34540dbc2f0f2249df4799b71892d980923bdc972e8d4db5de7e9a9ab08b88a", + "pixel_identical": false, + "mae_8bit": 0.15126427014668783, + "max_error_8bit": 5, + "psnr_db": 55.96620402076142, + "ssim_rgb": 0.9991664658666948, + "timings": { + "decode_s": 2.2933986249845475 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/compiled-b8.png", + "png_sha256": "a34540dbc2f0f2249df4799b71892d980923bdc972e8d4db5de7e9a9ab08b88a", + "pixel_identical": false, + "mae_8bit": 0.15126427014668783, + "max_error_8bit": 5, + "psnr_db": 55.96620402076142, + "ssim_rgb": 0.9991664658666948, + "timings": { + "decode_s": 1.6636835205135867 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "coreml-CPU_AND_GPU", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-portrait/coreml-CPU_AND_GPU.png", + "png_sha256": "ad830fa42d204982381787317eee53f4c662d512cbafe260a53e065b987c18c6", + "pixel_identical": false, + "mae_8bit": 0.2621665795644124, + "max_error_8bit": 11, + "psnr_db": 53.128439249639484, + "ssim_rgb": 0.998681981765892, + "timings": { + "decode_s": 1.591182250645943 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/decoder-portrait/compiled-b4.json b/comparisons/optimization-v2/decoder-portrait/compiled-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..ca4a1e928b46ed37d3f131caf51333260e734036 --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/compiled-b4.json @@ -0,0 +1,72 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.929837999981828 + }, + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "source_trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8", + "output": "comparisons/optimization-v2/decoder-portrait/compiled-b4.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" +} diff --git a/comparisons/optimization-v2/decoder-portrait/compiled-b8.json b/comparisons/optimization-v2/decoder-portrait/compiled-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..81e7e4f31fc7dab64036f24362e8a373c73ee8b5 --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/compiled-b8.json @@ -0,0 +1,72 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.6636835205135867 + }, + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "source_trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8", + "output": "comparisons/optimization-v2/decoder-portrait/compiled-b8.png", + "png_sha256": "a34540dbc2f0f2249df4799b71892d980923bdc972e8d4db5de7e9a9ab08b88a" +} diff --git a/comparisons/optimization-v2/decoder-portrait/coreml-CPU_AND_GPU.json b/comparisons/optimization-v2/decoder-portrait/coreml-CPU_AND_GPU.json new file mode 100644 index 0000000000000000000000000000000000000000..cc813cc66f5db448a7bfd24aea862692f9a1b250 --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/coreml-CPU_AND_GPU.json @@ -0,0 +1,73 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "compute_units": "CPU_AND_GPU" + }, + "vae_backend": "coreml", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.591182250645943 + }, + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "source_trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8", + "output": "comparisons/optimization-v2/decoder-portrait/coreml-CPU_AND_GPU.png", + "png_sha256": "ad830fa42d204982381787317eee53f4c662d512cbafe260a53e065b987c18c6" +} diff --git a/comparisons/optimization-v2/decoder-portrait/native-b1.json b/comparisons/optimization-v2/decoder-portrait/native-b1.json new file mode 100644 index 0000000000000000000000000000000000000000..ec5ccd3aa0833c9d88bfbde0bb2e6a73169222fc --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/native-b1.json @@ -0,0 +1,71 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 1 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 5.739497271017171 + }, + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "source_trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8", + "output": "comparisons/optimization-v2/decoder-portrait/native-b1.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" +} diff --git a/comparisons/optimization-v2/decoder-portrait/native-b4.json b/comparisons/optimization-v2/decoder-portrait/native-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..de68dc197b86b35d0b00d463c628362386806604 --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/native-b4.json @@ -0,0 +1,71 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.6730494999792427 + }, + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "source_trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8", + "output": "comparisons/optimization-v2/decoder-portrait/native-b4.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" +} diff --git a/comparisons/optimization-v2/decoder-portrait/native-b8.json b/comparisons/optimization-v2/decoder-portrait/native-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..1d5605a0797e932e1bd395d7ce70bc62951ae61c --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/native-b8.json @@ -0,0 +1,71 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.2933986249845475 + }, + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "source_trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8", + "output": "comparisons/optimization-v2/decoder-portrait/native-b8.png", + "png_sha256": "a34540dbc2f0f2249df4799b71892d980923bdc972e8d4db5de7e9a9ab08b88a" +} diff --git a/comparisons/optimization-v2/decoder-portrait/trials.json b/comparisons/optimization-v2/decoder-portrait/trials.json new file mode 100644 index 0000000000000000000000000000000000000000..0f7a250accd43fdacdcffb67d33ad2f42d9820ae --- /dev/null +++ b/comparisons/optimization-v2/decoder-portrait/trials.json @@ -0,0 +1,96 @@ +{ + "source_trace": "outputs/optimization-v2/portrait/wired-baseline-2.trace.safetensors", + "scope": "Same final latent, decoder-only hot latency", + "trials": [ + { + "variant": "native-b1", + "median_ms": 5739.497271017171, + "min_ms": 4017.139167059213, + "max_ms": 7461.85537497513, + "samples_ms": [ + 4017.139167059213, + 7461.85537497513 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b4", + "median_ms": 2673.0494999792427, + "min_ms": 2542.4729590304196, + "max_ms": 2803.626040928066, + "samples_ms": [ + 2803.626040928066, + 2542.4729590304196 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "compiled-b4", + "median_ms": 1929.837999981828, + "min_ms": 1923.4352498315275, + "max_ms": 1936.2407501321286, + "samples_ms": [ + 1923.4352498315275, + 1936.2407501321286 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b8", + "median_ms": 2293.3986249845475, + "min_ms": 2273.374166805297, + "max_ms": 2313.423083163798, + "samples_ms": [ + 2313.423083163798, + 2273.374166805297 + ], + "pixel_identical": false, + "mae_8bit": 0.15126427014668783, + "max_error_8bit": 5, + "psnr_db": 55.96620402076142, + "ssim_rgb": 0.9991664658666948 + }, + { + "variant": "compiled-b8", + "median_ms": 1663.6835205135867, + "min_ms": 1553.2039999961853, + "max_ms": 1774.163041030988, + "samples_ms": [ + 1553.2039999961853, + 1774.163041030988 + ], + "pixel_identical": false, + "mae_8bit": 0.15126427014668783, + "max_error_8bit": 5, + "psnr_db": 55.96620402076142, + "ssim_rgb": 0.9991664658666948 + }, + { + "variant": "coreml-CPU_AND_GPU", + "median_ms": 1591.182250645943, + "min_ms": 1500.6745841819793, + "max_ms": 1681.6899171099067, + "samples_ms": [ + 1500.6745841819793, + 1681.6899171099067 + ], + "pixel_identical": false, + "mae_8bit": 0.2621665795644124, + "max_error_8bit": 11, + "psnr_db": 53.128439249639484, + "ssim_rgb": 0.998681981765892 + } + ] +} diff --git a/comparisons/optimization-v2/decoder-product/comparison/metrics.json b/comparisons/optimization-v2/decoder-product/comparison/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..1464a9ee3ba73ae41866db1b03eca4f872231f77 --- /dev/null +++ b/comparisons/optimization-v2/decoder-product/comparison/metrics.json @@ -0,0 +1,111 @@ +{ + "validation_scope": "Same final latent; decoder only", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-product/native-b1.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "native-b1", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-product/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 2.870773000176996 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-product/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382, + "timings": { + "decode_s": 1.9198206248693168 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-product/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382, + "timings": { + "decode_s": 1.5638958329800516 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "coreml-CPU_AND_GPU", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/decoder-product/coreml-CPU_AND_GPU.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a", + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968, + "timings": { + "decode_s": 1.5556999580003321 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/decoder-product/compiled-b8.json b/comparisons/optimization-v2/decoder-product/compiled-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..28de5591dda4e2e8b078d1d2baeb7a056b2dea5c --- /dev/null +++ b/comparisons/optimization-v2/decoder-product/compiled-b8.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.5638958329800516 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-product/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/decoder-product/coreml-CPU_AND_GPU.json b/comparisons/optimization-v2/decoder-product/coreml-CPU_AND_GPU.json new file mode 100644 index 0000000000000000000000000000000000000000..40464240f90d58b4bef3b677552f10daa78d1dff --- /dev/null +++ b/comparisons/optimization-v2/decoder-product/coreml-CPU_AND_GPU.json @@ -0,0 +1,73 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "compute_units": "CPU_AND_GPU" + }, + "vae_backend": "coreml", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.5556999580003321 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-product/coreml-CPU_AND_GPU.png", + "png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a" +} diff --git a/comparisons/optimization-v2/decoder-product/native-b1.json b/comparisons/optimization-v2/decoder-product/native-b1.json new file mode 100644 index 0000000000000000000000000000000000000000..69c349850ed24407cb858617b33c89addeda4f98 --- /dev/null +++ b/comparisons/optimization-v2/decoder-product/native-b1.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 1 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.870773000176996 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-product/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/decoder-product/native-b8.json b/comparisons/optimization-v2/decoder-product/native-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..4e6b61eeff2762de8ee7b98311bdedee87ed1773 --- /dev/null +++ b/comparisons/optimization-v2/decoder-product/native-b8.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.9198206248693168 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/decoder-product/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/decoder-product/trials.json b/comparisons/optimization-v2/decoder-product/trials.json new file mode 100644 index 0000000000000000000000000000000000000000..6cafe11b8f4d1a1c10ef8f9adf3b05652422454d --- /dev/null +++ b/comparisons/optimization-v2/decoder-product/trials.json @@ -0,0 +1,70 @@ +{ + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "scope": "Same final latent, decoder-only hot latency", + "trials": [ + { + "variant": "native-b1", + "median_ms": 2870.773000176996, + "min_ms": 2861.7598328273743, + "max_ms": 2871.4003751520067, + "samples_ms": [ + 2861.7598328273743, + 2871.4003751520067, + 2870.773000176996 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b8", + "median_ms": 1919.8206248693168, + "min_ms": 1913.0355408415198, + "max_ms": 1938.4339170064777, + "samples_ms": [ + 1913.0355408415198, + 1919.8206248693168, + 1938.4339170064777 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382 + }, + { + "variant": "compiled-b8", + "median_ms": 1563.8958329800516, + "min_ms": 1556.4722921699286, + "max_ms": 1587.9057499114424, + "samples_ms": [ + 1556.4722921699286, + 1563.8958329800516, + 1587.9057499114424 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382 + }, + { + "variant": "coreml-CPU_AND_GPU", + "median_ms": 1555.6999580003321, + "min_ms": 1540.2977091725916, + "max_ms": 1566.5361660066992, + "samples_ms": [ + 1540.2977091725916, + 1555.6999580003321, + 1566.5361660066992 + ], + "pixel_identical": false, + "mae_8bit": 0.2054581642150879, + "max_error_8bit": 7, + "psnr_db": 54.674052201530415, + "ssim_rgb": 0.9983190643001968 + } + ] +} diff --git a/comparisons/optimization-v2/fp32-reference/comparison/metrics.json b/comparisons/optimization-v2/fp32-reference/comparison/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..65af2b57587d1ab9d47973abe0f23fb253305b7c --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/comparison/metrics.json @@ -0,0 +1,155 @@ +{ + "validation_scope": "Same final latent; decoder only", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "fp32-b4-compiled", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.png", + "png_sha256": "5fcd8beddbcb13748019dfd04f629599693b61264bb5b787258cae583dfe0b53", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "decode_s": 5.210008415859193 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b1", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": false, + "mae_8bit": 0.5589210987091064, + "max_error_8bit": 16, + "psnr_db": 49.78516664658046, + "ssim_rgb": 0.9966293860246318, + "timings": { + "decode_s": 4.797312458977103 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/native-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": false, + "mae_8bit": 0.5589210987091064, + "max_error_8bit": 16, + "psnr_db": 49.78516664658046, + "ssim_rgb": 0.9966293860246318, + "timings": { + "decode_s": 2.0591762911062688 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/compiled-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": false, + "mae_8bit": 0.5589210987091064, + "max_error_8bit": 16, + "psnr_db": 49.78516664658046, + "ssim_rgb": 0.9966293860246318, + "timings": { + "decode_s": 1.6838960419408977 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "native-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.5588849385579427, + "max_error_8bit": 16, + "psnr_db": 49.786187719649895, + "ssim_rgb": 0.9966299016185887, + "timings": { + "decode_s": 2.054585292004049 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + }, + { + "label": "compiled-b8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/fp32-reference/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.5588849385579427, + "max_error_8bit": 16, + "psnr_db": 49.786187719649895, + "ssim_rgb": 0.9966299016185887, + "timings": { + "decode_s": 1.6555352921131998 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Warm decoder only; model loading excluded" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/fp32-reference/compiled-b4.json b/comparisons/optimization-v2/fp32-reference/compiled-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..8ba9990ab81a57e5ea0dfd35b3755e7e5956e73a --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/compiled-b4.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.6838960419408977 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/fp32-reference/compiled-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/fp32-reference/compiled-b8.json b/comparisons/optimization-v2/fp32-reference/compiled-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..cdb774ad523d884be4b89214d24127b05f33701d --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/compiled-b8.json @@ -0,0 +1,72 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8, + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 1.6555352921131998 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/fp32-reference/compiled-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.json b/comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.json new file mode 100644 index 0000000000000000000000000000000000000000..75cf756c2ad34d068e74694d5631dc43aec0b754 --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.json @@ -0,0 +1,73 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4, + "compile_blocks": true, + "dtype": "float32" + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 5.210008415859193 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.png", + "png_sha256": "5fcd8beddbcb13748019dfd04f629599693b61264bb5b787258cae583dfe0b53" +} diff --git a/comparisons/optimization-v2/fp32-reference/native-b1.json b/comparisons/optimization-v2/fp32-reference/native-b1.json new file mode 100644 index 0000000000000000000000000000000000000000..23b68bd5b715786ac7f422d8998e63cbbaf82b77 --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/native-b1.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 1 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 4.797312458977103 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/fp32-reference/native-b1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/fp32-reference/native-b4.json b/comparisons/optimization-v2/fp32-reference/native-b4.json new file mode 100644 index 0000000000000000000000000000000000000000..21fe906ffc5dd8f88689980ca8854394c5311ca1 --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/native-b4.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 4 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.0591762911062688 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/fp32-reference/native-b4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/comparisons/optimization-v2/fp32-reference/native-b8.json b/comparisons/optimization-v2/fp32-reference/native-b8.json new file mode 100644 index 0000000000000000000000000000000000000000..55f637cb56e651f8858a06c55ade8e2ebd8760b2 --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/native-b8.json @@ -0,0 +1,71 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "reference_images": [], + "reference_sha256": [], + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "vae": { + "tile_batch": 8 + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "validation_scope": "Same final latent; decoder only", + "timing_scope": "Warm decoder only; model loading excluded", + "timings": { + "decode_s": 2.054585292004049 + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29", + "output": "comparisons/optimization-v2/fp32-reference/native-b8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f" +} diff --git a/comparisons/optimization-v2/fp32-reference/trials.json b/comparisons/optimization-v2/fp32-reference/trials.json new file mode 100644 index 0000000000000000000000000000000000000000..02dfc28b86ff1a1c003ca97a3eeaba0fbc1176e7 --- /dev/null +++ b/comparisons/optimization-v2/fp32-reference/trials.json @@ -0,0 +1,90 @@ +{ + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "scope": "Same final latent, decoder-only hot latency", + "trials": [ + { + "variant": "fp32-b4-compiled", + "median_ms": 5210.008415859193, + "min_ms": 5210.008415859193, + "max_ms": 5210.008415859193, + "samples_ms": [ + 5210.008415859193 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "variant": "native-b1", + "median_ms": 4797.312458977103, + "min_ms": 4797.312458977103, + "max_ms": 4797.312458977103, + "samples_ms": [ + 4797.312458977103 + ], + "pixel_identical": false, + "mae_8bit": 0.5589210987091064, + "max_error_8bit": 16, + "psnr_db": 49.78516664658046, + "ssim_rgb": 0.9966293860246318 + }, + { + "variant": "native-b4", + "median_ms": 2059.1762911062688, + "min_ms": 2059.1762911062688, + "max_ms": 2059.1762911062688, + "samples_ms": [ + 2059.1762911062688 + ], + "pixel_identical": false, + "mae_8bit": 0.5589210987091064, + "max_error_8bit": 16, + "psnr_db": 49.78516664658046, + "ssim_rgb": 0.9966293860246318 + }, + { + "variant": "compiled-b4", + "median_ms": 1683.8960419408977, + "min_ms": 1683.8960419408977, + "max_ms": 1683.8960419408977, + "samples_ms": [ + 1683.8960419408977 + ], + "pixel_identical": false, + "mae_8bit": 0.5589210987091064, + "max_error_8bit": 16, + "psnr_db": 49.78516664658046, + "ssim_rgb": 0.9966293860246318 + }, + { + "variant": "native-b8", + "median_ms": 2054.585292004049, + "min_ms": 2054.585292004049, + "max_ms": 2054.585292004049, + "samples_ms": [ + 2054.585292004049 + ], + "pixel_identical": false, + "mae_8bit": 0.5588849385579427, + "max_error_8bit": 16, + "psnr_db": 49.786187719649895, + "ssim_rgb": 0.9966299016185887 + }, + { + "variant": "compiled-b8", + "median_ms": 1655.5352921131998, + "min_ms": 1655.5352921131998, + "max_ms": 1655.5352921131998, + "samples_ms": [ + 1655.5352921131998 + ], + "pixel_identical": false, + "mae_8bit": 0.5588849385579427, + "max_error_8bit": 16, + "psnr_db": 49.786187719649895, + "ssim_rgb": 0.9966299016185887 + } + ] +} diff --git a/comparisons/optimization-v2/native-4k/metrics.json b/comparisons/optimization-v2/native-4k/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..453d791d83dae096799c04dfe85a4a22a3752965 --- /dev/null +++ b/comparisons/optimization-v2/native-4k/metrics.json @@ -0,0 +1,84 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/native-4k/native-0.png", + "native_size": [ + 4096, + 4096 + ], + "crop_xyxy": [ + 1792, + 1792, + 2304, + 2304 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Native 4K six-pass BF16", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/native-4k/native-0.png", + "png_sha256": "9f5b1f2a4d1ef45900e8afd7bf132e43f437c0ded73a79aa6992fe0a968de3c6", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 39.3051441248972, + "dit_setup_s": 1.2301222910173237, + "step_0_s": 71.125005583046, + "step_1_s": 65.16590758296661, + "step_2_s": 65.27136183297262, + "step_3_s": 65.02919550007209, + "step_4_s": 65.43438254203647, + "step_5_s": 65.73626679205336, + "decode_s": 12.110308207804337 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + }, + { + "label": "Optimized 4K lossless packed BF16", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/native-4k/compact-0.png", + "png_sha256": "9f5b1f2a4d1ef45900e8afd7bf132e43f437c0ded73a79aa6992fe0a968de3c6", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.3852883749641478, + "dit_setup_s": 0.3909147090744227, + "step_0_s": 76.82507295790128, + "step_1_s": 76.22466979105957, + "step_2_s": 71.48630733299069, + "step_3_s": 70.22859333408996, + "step_4_s": 67.96639162511565, + "step_5_s": 73.55640212493017, + "decode_s": 9.105460374848917, + "total_s": 446.74926854111254 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/portrait/metrics.json b/comparisons/optimization-v2/portrait/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..f3141cfc02f1949add64d9ec2be3210b3c37d83f --- /dev/null +++ b/comparisons/optimization-v2/portrait/metrics.json @@ -0,0 +1,207 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/portrait/wired-baseline-2.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Native six-pass BF16", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/portrait/wired-baseline-2.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08648662501946092, + "dit_setup_s": 0.24066179106011987, + "step_0_s": 10.875216375105083, + "step_1_s": 10.857475084019825, + "step_2_s": 11.06404837500304, + "step_3_s": 11.028399207862094, + "step_4_s": 10.942341791000217, + "step_5_s": 10.960078791948035, + "decode_s": 3.4812426660209894, + "total_s": 69.65558570809662 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Compiled BF16 + exact caches + prefetch", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/portrait/prefetch-1.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.14084195904433727, + "dit_setup_s": 0.0039700830820947886, + "step_0_s": 11.263505624840036, + "step_1_s": 11.137061791028827, + "step_2_s": 11.33456770889461, + "step_3_s": 10.957554667023942, + "step_4_s": 11.680038708029315, + "step_5_s": 11.271566458977759, + "decode_s": 1.9571630000136793, + "total_s": 69.9578939168714 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Lossless packed + exact caches + prefetch", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/portrait/compact-1.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.1469621250871569, + "dit_setup_s": 0.003522415878251195, + "step_0_s": 12.054280916927382, + "step_1_s": 11.839692834066227, + "step_2_s": 11.868391250027344, + "step_3_s": 12.128394583938643, + "step_4_s": 12.118290915852413, + "step_5_s": 12.088752459036186, + "decode_s": 2.14735333295539, + "total_s": 74.5992630829569 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "FP16 projection failure (non-finite)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/portrait/fp16-0.png", + "png_sha256": "abc4f0945e189c3d9bd9144e7b38f9fa767ee648445530c3d9220dea1ff54dff", + "pixel_identical": false, + "mae_8bit": 104.15469749768575, + "max_error_8bit": 255, + "psnr_db": 5.980561568481523, + "ssim_rgb": 0.02374704438244847, + "timings": { + "encode_s": 0.16334050009027123, + "dit_setup_s": 0.006912332959473133, + "step_0_s": 11.370001500006765, + "step_1_s": 10.795084374956787, + "step_2_s": 11.040133290924132, + "step_3_s": 11.515498750144616, + "step_4_s": 11.45918699982576, + "step_5_s": 11.67802600003779, + "decode_s": 2.4979694171343, + "total_s": 70.81806825008243 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Five original passes (skip head 1)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/portrait/five-pass-0.png", + "png_sha256": "0783516098b6c3a5f924c6506636db757f5a1f425adec76ee894c649d01f82ac", + "pixel_identical": false, + "mae_8bit": 25.05439265569051, + "max_error_8bit": 253, + "psnr_db": 17.022613207270645, + "ssim_rgb": 0.6941111421384556, + "timings": { + "encode_s": 0.41112654213793576, + "dit_setup_s": 0.003326375037431717, + "step_0_s": 12.771237625041977, + "step_2_s": 12.568495499901474, + "step_3_s": 13.02115866704844, + "step_4_s": 13.004750583088025, + "step_5_s": 12.88367608282715, + "decode_s": 3.232077999971807, + "total_s": 68.43293566606008 + }, + "steps": [ + 0, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Affine Q8 (earlier trial)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/portrait/q8-0.png", + "png_sha256": "c831d65979490654433e685472f2e8018dbcf20f3e89319a7f4eb7c154204f6a", + "pixel_identical": false, + "mae_8bit": 10.524956226348877, + "max_error_8bit": 255, + "psnr_db": 22.26897517670345, + "ssim_rgb": 0.8880157043149505, + "timings": { + "encode_s": 0.09868883294984698, + "dit_setup_s": 0.7008308749645948, + "step_0_s": 25.078598499996588, + "step_1_s": 11.3860953329131, + "step_2_s": 11.843974958872423, + "step_3_s": 11.917511082952842, + "step_4_s": 11.921109582995996, + "step_5_s": 12.003246375126764, + "decode_s": 3.1595675421413034, + "total_s": 88.24365795892663 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/optimization-v2/product/metrics.json b/comparisons/optimization-v2/product/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..4763c8baf665f75f59abb1c06b2cf6364c8fd8bd --- /dev/null +++ b/comparisons/optimization-v2/product/metrics.json @@ -0,0 +1,236 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/product/quiet-baseline-1.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "Native six-pass BF16", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/product/quiet-baseline-1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.13202012493275106, + "dit_setup_s": 1.2088994591031224, + "step_0_s": 11.269055749988183, + "step_1_s": 12.735428082989529, + "step_2_s": 11.846413915976882, + "step_3_s": 11.8792012501508, + "step_4_s": 11.994911208050326, + "step_5_s": 12.205478500109166, + "decode_s": 7.152472875081003, + "total_s": 80.67228879104368 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Compiled BF16 + exact caches + prefetch", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/product/quiet-native-2.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.08873195806518197, + "dit_setup_s": 0.001905666897073388, + "step_0_s": 11.00865966686979, + "step_1_s": 11.224740542005748, + "step_2_s": 11.21973150013946, + "step_3_s": 11.264812708133832, + "step_4_s": 11.306618334027007, + "step_5_s": 11.231723292032257, + "decode_s": 1.9761215830221772, + "total_s": 69.45462800003588 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Lossless packed + exact caches + prefetch", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/product/quiet-packed-1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.0967196668498218, + "dit_setup_s": 0.0027267499826848507, + "step_0_s": 11.570147916907445, + "step_1_s": 11.74878991721198, + "step_2_s": 11.715333333006129, + "step_3_s": 11.717893250053748, + "step_4_s": 11.603242000099272, + "step_5_s": 11.725369249936193, + "decode_s": 1.9260948339942843, + "total_s": 72.23136470792815 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "FP16 projection failure (non-finite)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/product/fp16-0.png", + "png_sha256": "abc4f0945e189c3d9bd9144e7b38f9fa767ee648445530c3d9220dea1ff54dff", + "pixel_identical": false, + "mae_8bit": 154.0353469053904, + "max_error_8bit": 255, + "psnr_db": 3.5187477254843316, + "ssim_rgb": 0.029728687074001295, + "timings": { + "encode_s": 0.164149375166744, + "dit_setup_s": 0.012970499927178025, + "step_0_s": 19.491657083155587, + "step_1_s": 11.781394249992445, + "step_2_s": 12.040733999805525, + "step_3_s": 11.494876583106816, + "step_4_s": 11.078448999905959, + "step_5_s": 10.762681292137131, + "decode_s": 2.9483572081662714, + "total_s": 80.01661587506533 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Five original passes (skip head 1)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-v2/product/five-pass-0.png", + "png_sha256": "f392b7d20cc289461d33f57e8de99523d46b796e0071ecb7d1b886595cb16d8a", + "pixel_identical": false, + "mae_8bit": 22.355140527089436, + "max_error_8bit": 255, + "psnr_db": 16.798797459226876, + "ssim_rgb": 0.7964514877131589, + "timings": { + "encode_s": 0.38104925001971424, + "dit_setup_s": 0.014084458816796541, + "step_0_s": 21.08811499993317, + "step_2_s": 12.159034667070955, + "step_3_s": 13.275729584041983, + "step_4_s": 13.143135499907658, + "step_5_s": 13.052462915889919, + "decode_s": 4.335398250026628, + "total_s": 77.87358345813118 + }, + "steps": [ + 0, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "Affine Q8 (earlier trial)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/q8-1.png", + "png_sha256": "799572a5675bac38b9b1877147d4515fc967e53c6f06b081f30548272e52c052", + "pixel_identical": false, + "mae_8bit": 5.79255223274231, + "max_error_8bit": 253, + "psnr_db": 22.670030556020244, + "ssim_rgb": 0.9318277671621975, + "timings": { + "encode_s": 0.09065908310003579, + "dit_setup_s": 1.2292701669503003, + "step_0_s": 11.784963042009622, + "step_1_s": 12.04240637505427, + "step_2_s": 12.168709333986044, + "step_3_s": 12.102805541129783, + "step_4_s": 12.074664332903922, + "step_5_s": 12.101575708016753, + "decode_s": 2.086509041953832 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + }, + { + "label": "Affine Q4 (earlier trial)", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/q4-1.png", + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "pixel_identical": false, + "mae_8bit": 22.925202290217083, + "max_error_8bit": 255, + "psnr_db": 15.417449405584902, + "ssim_rgb": 0.7799346096667573, + "timings": { + "encode_s": 0.09236533287912607, + "dit_setup_s": 0.23881158302538097, + "step_0_s": 11.108879416016862, + "step_1_s": 11.359565166058019, + "step_2_s": 11.353381082881242, + "step_3_s": 11.290836083935574, + "step_4_s": 11.308953374857083, + "step_5_s": 11.28675491688773, + "decode_s": 2.08044720813632 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/portrait-cuda/metrics.json b/comparisons/portrait-cuda/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..347421742924d0180b7bcb7c0bd8a10e636e008d --- /dev/null +++ b/comparisons/portrait-cuda/metrics.json @@ -0,0 +1,75 @@ +{ + "validation_scope": "Cross-backend comparison: hardware and VAE quality settings differ. Timings do not isolate a port speedup.", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/portrait.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "CUDA BF16 / upstream lossless quality", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/portrait.png", + "png_sha256": "a8e360798a511a2b74f7ee8679699d253282afcf01423f6496f504a2f11c7aad", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "total_s": 6.7668 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "MLX BF16 / native tile recipe", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/portrait/native-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": false, + "mae_8bit": 6.2714924812316895, + "max_error_8bit": 255, + "psnr_db": 25.93624905969144, + "ssim_rgb": 0.9382159440030731, + "timings": { + "encode_s": 29.928250416880473, + "dit_setup_s": 18.212509125005454, + "step_0_s": 29.710235374979675, + "step_1_s": 10.776555166114122, + "step_2_s": 11.723574999952689, + "step_3_s": 11.882692540995777, + "step_4_s": 11.787014875095338, + "step_5_s": 11.475019458914176, + "decode_s": 3.080522792181 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/portrait/metrics.json b/comparisons/portrait/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..e6a3ab4a14d58f6e73b5dd9cd0b43990e19662d8 --- /dev/null +++ b/comparisons/portrait/metrics.json @@ -0,0 +1,84 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/portrait/native-0.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 1024, + 384, + 1536, + 896 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "BF16 native / six passes", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/portrait/native-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 29.928250416880473, + "dit_setup_s": 18.212509125005454, + "step_0_s": 29.710235374979675, + "step_1_s": 10.776555166114122, + "step_2_s": 11.723574999952689, + "step_3_s": 11.882692540995777, + "step_4_s": 11.787014875095338, + "step_5_s": 11.475019458914176, + "decode_s": 3.080522792181 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + }, + { + "label": "DiT Q8 / six passes", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/portrait/q8-0.png", + "png_sha256": "c831d65979490654433e685472f2e8018dbcf20f3e89319a7f4eb7c154204f6a", + "pixel_identical": false, + "mae_8bit": 10.524956226348877, + "max_error_8bit": 255, + "psnr_db": 22.26897517670345, + "ssim_rgb": 0.8880157043149505, + "timings": { + "encode_s": 0.09868883294984698, + "dit_setup_s": 0.7008308749645948, + "step_0_s": 25.078598499996588, + "step_1_s": 11.3860953329131, + "step_2_s": 11.843974958872423, + "step_3_s": 11.917511082952842, + "step_4_s": 11.921109582995996, + "step_5_s": 12.003246375126764, + "decode_s": 3.1595675421413034, + "total_s": 88.24365795892663 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/product-cuda/metrics.json b/comparisons/product-cuda/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..d6f1f7fb4dd65e381567f0700ab29dc595c6d826 --- /dev/null +++ b/comparisons/product-cuda/metrics.json @@ -0,0 +1,76 @@ +{ + "validation_scope": "Cross-backend comparison: hardware and VAE quality settings differ. Timings do not isolate a port speedup.", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/product.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "CUDA BF16 / upstream lossless quality", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/product.png", + "png_sha256": "66a49c7b9d281bf7a4b22356b625bdbee8e92e02b8d8d2031cc24f73601ad531", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "total_s": 6.7003 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "MLX BF16 / native tile recipe", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": false, + "mae_8bit": 7.448140303293864, + "max_error_8bit": 255, + "psnr_db": 21.148594558425987, + "ssim_rgb": 0.9196064309522112, + "timings": { + "encode_s": 0.09756437502801418, + "dit_setup_s": 1.1571008330211043, + "step_0_s": 10.822453290922567, + "step_1_s": 11.303021250059828, + "step_2_s": 11.45283200009726, + "step_3_s": 11.480994417099282, + "step_4_s": 11.41636574990116, + "step_5_s": 11.394194666063413, + "decode_s": 3.528030874906108, + "total_s": 72.77735170791857 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/product/metrics.json b/comparisons/product/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..6ebdbeb36598fc7f0e17cdceceaed0f2e75c6878 --- /dev/null +++ b/comparisons/product/metrics.json @@ -0,0 +1,199 @@ +{ + "validation_scope": "Complete image inference", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "BF16 native / six passes", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "encode_s": 0.09756437502801418, + "dit_setup_s": 1.1571008330211043, + "step_0_s": 10.822453290922567, + "step_1_s": 11.303021250059828, + "step_2_s": 11.45283200009726, + "step_3_s": 11.480994417099282, + "step_4_s": 11.41636574990116, + "step_5_s": 11.394194666063413, + "decode_s": 3.528030874906108, + "total_s": 72.77735170791857 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "BF16 / fused AdaLN / tile batch 8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/tuned-1.png", + "png_sha256": "c5239ae8d92498cd68dabea840aa2cee5d8604a95d4882ed15a6666731e0e5af", + "pixel_identical": false, + "mae_8bit": 2.3392630418141684, + "max_error_8bit": 250, + "psnr_db": 30.55678913191977, + "ssim_rgb": 0.9757456740909974, + "timings": { + "encode_s": 0.09934491687454283, + "dit_setup_s": 1.0922138749156147, + "step_0_s": 10.57918579201214, + "step_1_s": 10.63422887492925, + "step_2_s": 10.868061624933034, + "step_3_s": 10.963727083057165, + "step_4_s": 10.984185874927789, + "step_5_s": 10.98608429194428, + "decode_s": 2.0950714577920735 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + }, + { + "label": "BF16 / fused AdaLN + QK-RoPE / tile batch 8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/fused-2.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40", + "pixel_identical": false, + "mae_8bit": 2.2516628901163735, + "max_error_8bit": 255, + "psnr_db": 30.86484447444775, + "ssim_rgb": 0.9768710943911784, + "timings": { + "encode_s": 0.09117195894941688, + "dit_setup_s": 0.27402475010603666, + "step_0_s": 10.491985624888912, + "step_1_s": 10.43551416695118, + "step_2_s": 10.60374516597949, + "step_3_s": 10.670810583047569, + "step_4_s": 10.666088457917795, + "step_5_s": 10.606334500014782, + "decode_s": 2.3815533339511603, + "total_s": 66.34713304112665 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "DiT Q8 / six passes", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/q8-1.png", + "png_sha256": "799572a5675bac38b9b1877147d4515fc967e53c6f06b081f30548272e52c052", + "pixel_identical": false, + "mae_8bit": 5.79255223274231, + "max_error_8bit": 253, + "psnr_db": 22.670030556020244, + "ssim_rgb": 0.9318277671621975, + "timings": { + "encode_s": 0.09065908310003579, + "dit_setup_s": 1.2292701669503003, + "step_0_s": 11.784963042009622, + "step_1_s": 12.04240637505427, + "step_2_s": 12.168709333986044, + "step_3_s": 12.102805541129783, + "step_4_s": 12.074664332903922, + "step_5_s": 12.101575708016753, + "decode_s": 2.086509041953832 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + }, + { + "label": "DiT Q4 / six passes", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/q4-1.png", + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "pixel_identical": false, + "mae_8bit": 22.925202290217083, + "max_error_8bit": 255, + "psnr_db": 15.417449405584902, + "ssim_rgb": 0.7799346096667573, + "timings": { + "encode_s": 0.09236533287912607, + "dit_setup_s": 0.23881158302538097, + "step_0_s": 11.108879416016862, + "step_1_s": 11.359565166058019, + "step_2_s": 11.353381082881242, + "step_3_s": 11.290836083935574, + "step_4_s": 11.308953374857083, + "step_5_s": 11.28675491688773, + "decode_s": 2.08044720813632 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + }, + { + "label": "BF16 preview / steps 0,2,4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/preview-1.png", + "png_sha256": "5337c71c20c626ea61acbea9056edaf0681ada662253bb279d8b6be8dbc88045", + "pixel_identical": false, + "mae_8bit": 25.68697961171468, + "max_error_8bit": 255, + "psnr_db": 15.70646468928225, + "ssim_rgb": 0.6780853944783064, + "timings": { + "encode_s": 0.09528833301737905, + "dit_setup_s": 1.1097651249729097, + "step_0_s": 10.587021457962692, + "step_2_s": 10.816450208891183, + "step_4_s": 10.89192883297801, + "decode_s": 2.0644590000156313 + }, + "steps": [ + 0, + 2, + 4 + ], + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/comparisons/vae/metrics.json b/comparisons/vae/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..37dc9398af9da58498bb61402adc44ea1a205fef --- /dev/null +++ b/comparisons/vae/metrics.json @@ -0,0 +1,111 @@ +{ + "validation_scope": "Decoder only: identical final latent, BF16 decoder; diffusion is not rerun", + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/reports/vae/batch-1.png", + "native_size": [ + 2048, + 2048 + ], + "crop_xyxy": [ + 768, + 768, + 1280, + 1280 + ], + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error" + }, + "rows": [ + { + "label": "BF16 decoder / tile batch 1", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/reports/vae/batch-1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "total_s": 2.9723427920835093 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "BF16 decoder / tile batch 4", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/reports/vae/batch-4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "timings": { + "total_s": 2.0135446878848597 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "BF16 decoder / tile batch 8", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/reports/vae/batch-8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382, + "timings": { + "total_s": 1.9313540210714564 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + }, + { + "label": "BF16 decoder / tile batch 16", + "image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/reports/vae/batch-16.png", + "png_sha256": "2cd5b2c7d84c07801b333e4a2db2b3228a106ea0c1f2462c00fa8a4a5234d00e", + "pixel_identical": false, + "mae_8bit": 0.12682731946309408, + "max_error_8bit": 4, + "psnr_db": 56.93080322502411, + "ssim_rgb": 0.9988915771568488, + "timings": { + "total_s": 1.8983302710112184 + }, + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "timing_scope": "Fresh end-to-end request" + } + ], + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality." +} diff --git a/docs/ANNOUNCEMENT.md b/docs/ANNOUNCEMENT.md new file mode 100644 index 0000000000000000000000000000000000000000..b874945f9c5ee6faace98ffecc4fa99eca5a235b --- /dev/null +++ b/docs/ANNOUNCEMENT.md @@ -0,0 +1,25 @@ +# Launch announcement draft + +MiniMax H3 Image on Apple silicon, with native MLX/Metal inference. + +Four weight choices: original BF16, lossless packed BF16, Q8 and Q4. Download +one variant and reuse the shared components. Includes six-step generation, +reference-image editing, copyable quick starts, original image comparisons, +numerical audits and benchmark records. + +On the tested M5 Pro / 64 GiB, the recorded exact tuned profiles measured +about 62–64 seconds for warm 2048-square generation. Details, measurement +boundaries and fidelity tradeoffs are documented. The native text encoder is +a separate large download and can be reused from an existing installation. + +Independent community port by Devin Lai. Code is Apache-2.0; weights retain +MiniMax's community licenses and access restrictions. No hosted service. + +Start here: https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx + +Share a result with the variant, prompt, seed, image size, chip/memory and +generated JSON record. Reports from more Macs will help make support better. + +简体中文:MiniMax H3 Image 的 Apple 芯片 MLX 本地推理社区移植。 +按需选择 BF16、无损 packed12、Q8 或 Q4,复用公共组件。 +包含图像编辑、原始对比图和可复现实测。模型保留 MiniMax 社区许可及相关限制。 diff --git a/docs/MODIFICATIONS.md b/docs/MODIFICATIONS.md new file mode 100644 index 0000000000000000000000000000000000000000..d52a2eb998166330bf43fc1bf2563882ca3252a8 --- /dev/null +++ b/docs/MODIFICATIONS.md @@ -0,0 +1,34 @@ +# Modifications and attribution + +Community MLX/Metal adaptation and distribution by Devin Lai, November 2026. +This is an independent port, without MiniMax endorsement. No model pretraining, +fine-tuning, new training data or quality calibration was performed. + +- **BF16:** original transformer files, retained byte for byte. Native BF16 + matrices and FP32 precision islands remain at their original precision. +- **Packed12:** the fifty main DiT blocks use the lossless `h3-palette12-v1` + layout. BF16 payloads are reconstructed before the native matrix operation. + QKV storage follows the MLX Q/K/V ordering. This is storage compression, + not 12-bit quantization. Native refiners are shared. +- **Q8 / Q4:** the fifty main blocks and two token-refiner blocks use MLX + affine weight quantization, group size 64, with the required QKV reordering. + Native support tensors and FP32 precision islands remain unquantized. + Quantization changes generated images and can be slower than BF16. +- **Shared support:** native constants, normalization weights and native token + refiners are repacked. The original timestep projections are evaluated once + for the six released PDD steps, plus the fixed editing anchor. There is no + interpolation or timestep skipping. These frozen tables were evaluated on + Apple M5 Pro with MLX 0.32.4 and strict FP32 operations; the published loader + checks the schedule, MLX version and precision environment. +- **VAE and output heads:** original files, unchanged. The default runtime + follows the inspected BF16 decoder policy; its source weights are FP32. +- **Text encoder:** downloaded separately from the pinned official + `MiniMaxAI/MiniMax-H3` repository. It is not relicensed by this project. + +The inference implementation follows the inspected SGLang and Transformers +contracts. Apache-2.0 applies to this project's runtime code, with source +identities in `provenance/sources.json`. Model weights and derivatives retain +the MiniMax-H3-Image Community License Agreement. The separate text encoder +retains the MiniMax H3 Community License Agreement. See `LICENSE-model`, +`LICENSE-text-encoder` and `NOTICE` in the main repository, and `LICENSE` in +each model component repository. diff --git a/docs/TECHNICAL.md b/docs/TECHNICAL.md new file mode 100644 index 0000000000000000000000000000000000000000..b970951c8a5dbbf17bca5a6f9296a3cb666196de --- /dev/null +++ b/docs/TECHNICAL.md @@ -0,0 +1,269 @@ +# MiniMax-H3-Image-mlx + +Native MLX/Metal inference for MiniMax-H3-Image on Apple silicon. The default +uses the original BF16 transformer, all six distilled PDD steps, dense +attention, FP32 timestep/input/output projections, and the released overlapping +BF16 image VAE decoder. Q8, Q4, custom Metal normalization and fewer steps are +explicit experiments. + +The port reads the original safetensors directly. It does not need CUDA, +SGLang, a remote API, or a second copy of the checkpoint. PyTorch is used only +for the original CPU random-number stream and independent numerical tests; +the model operators run in MLX on Metal. + +The [latest operator-tuning report](../reports/optimization-r3/RESULTS.md) applies +the local `tmp/mlx-skills` workflow: native-order Q/K fusion, M5 FC2 tuning, +physical-memory accounting, real activation sweeps and complete trajectory +checks. [Matched image stacks](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-r3/index.html) include +the exact modes and links to earlier precision-loss examples. + +On the tested Mac, paired warm latency improves **5.07%** with dense BF16 +storage and **3.57%** with lossless packed storage, each against its own +current control. Every pixel and saved denoising tensor matches on four cases. +The largest sampled process footprint across candidate cases is **40.50 GiB +dense / 32.56 GiB packed**; see the report for timing ranges and memory scope. + +The [further optimization report](../reports/optimization-v2/RESULTS.md) covers +compiled MLX, exact weight packing, asynchronous loading, PyTorch/MPS, custom +Metal kernels, and a complete Core ML VAE tested on CPU, GPU, ANE and all +devices. It includes real side-by-side image grids and failed experiments. + +## Install and generate + +An Apple silicon Mac and a compatible MLX Metal installation are required. +The tested machine is a 64 GB M5 Pro. BF16 inference uses a resident DiT core +of about 36 GiB, plus activations, decoder and allocator overhead. Smaller +memory budgets stream a fixed subset of blocks; Q8/Q4 reduce memory and change +the image. Disk space for the original image model and full encoder is roughly +134 GB, independent of this small code repository. + +```bash +uv venv --python 3.12 +source .venv/bin/activate +uv pip install -e '.[audit]' +h3-mlx doctor + +h3-mlx generate \ + --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + "An editorial photograph of a cobalt perfume bottle on pale stone" \ + --width 2048 --height 2048 --seed 731 --output outputs/bottle.png +``` + +`requirements-macos.lock` records the exact tested environment, including audit +tools. Install it before the editable package when reproducing these measurements. + +The neighboring checkpoint paths on the development machine are +`../minimax-h3-image-opt/models/MiniMax-H3-Image` and +`../minimax-h3-image-opt/models/MiniMax-H3/text_encoder`. Pass them explicitly; +the package has no dependency on that repository at runtime. + +If weights are not already present, download the official repositories: + +```bash +hf download MiniMaxAI/MiniMax-H3-Image \ + --revision 6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901 \ + --local-dir models/MiniMax-H3-Image +hf download MiniMaxAI/MiniMax-H3 --include 'text_encoder/*' \ + --revision 0919fb684102ef115126612f3fbb84d1027e7317 \ + --local-dir models/MiniMax-H3 +``` + +The model expects detailed English prompts. Prompt expansion is not performed +silently. Requests smaller than 4 MP use the upstream larger generation canvas +and are resized with LANCZOS. `--min-generation-area 1024` disables that +enlargement for quick low-resolution development trials; these are outside the +model's usual 4–20 MP working range. + +Every output PNG has a sibling JSON recording the prompt, seed, noise source, +canvas, schedule, precision options, per-step times, model-load times, memory +and software/hardware versions. `--save-trace` also saves conditioning, each +velocity/Euler state and the final latent for numerical investigations. + +## Precision and performance controls + +For the tested 64 GB M5 Pro, the recommended exact configuration is: + +```bash +h3-mlx generate --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --compile-blocks --eval-every 0 --prefetch-blocks 4 --wired-gb 42 \ + --compile-vae --vae-batch 4 \ + --kernel metal-qk-exact --tune-matmul \ + "A detailed image description" --output outputs/optimized.png +``` + +This keeps all six heads and the original BF16/FP32 arithmetic. The M5 tuning +is scoped to MLX 0.32.4 and measured token ranges; other devices, versions and +shapes retain native execution. See the report for complete image/trajectory +checks and paired timing ranges. For lower +memory use, add `--weight-storage packed12` and use `--wired-gb 32` on this +machine. Packing is lossless, builds an approximately 27 GiB disk cache on first +use, and trades a small amount of compute for smaller resident weights. Wired +memory settings must fit the actual Mac; the runtime enforces Metal's limit. + +| Option | Effect | +|---|---| +| Default | BF16 core, original schedule, dense Metal SDPA, FP32 precision islands | +| `--compile-blocks --eval-every 0` | Compile DiT blocks and evaluate the complete warm step | +| `--prefetch-blocks 4` | Bound asynchronous loading/execution overlap to four blocks when weights need loading | +| `--kernel metal-qk-exact` | Native-order Q/K RMSNorm + partial RoPE fusion; keeps native full-width normalization | +| `--tune-matmul` | Metal 4 FC2 tile selected on real activations; M5 Pro/MLX 0.32.4 and 4096–8192 joint tokens, native fallback otherwise | +| `--kernel metal-exact` | Also fuse full-width RMSNorm/AdaLN; exact on the recorded suite, with a measured physical-memory tradeoff | +| `--compile-vae --vae-batch 4` | Faster decoder; identical pixels on the tested product and portrait | +| `--vae-dtype float32` | Original FP32 decoder arithmetic; slower, with a [same-latent precision grid](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/fp32-reference/comparison/grid.png) | +| `--weight-storage packed12` | Lossless BF16 storage with exact GPU reconstruction before native GEMMs | +| `--wired-gb 42` | Process-local residency on the tested 64 GB Mac; does not modify system settings | +| `--no-refiner-cache` | Bypass exact refined-conditioning caching for audits | +| `--keep-refiners` | Keep refiner weights for new conditioning instead of releasing them | +| `--kernel metal --norm-threads 256` | Experimental fused RMSNorm/AdaLN; preserves intermediate BF16 rounding but changes reduction order | +| `--kernel metal-qk` | Also fuse per-head Q/K normalization and partial 3D RoPE | +| `--vae-batch 8` | Decode several complete native tiles together; GEMM rounding can change | +| `--mlp-chunk 1024` | Lower activation memory; `0` uses a full-sequence MLP | +| `--attention-chunk 512` | Bound attention query working size while keeping all keys; benchmark before using | +| `--dit-cache-gb 16` | Pin up to 16 GiB of blocks and stream the rest without LRU thrashing | +| `--quantize 8` / `--quantize 4` | Weight-only affine quantization of DiT attention/MLPs, group size 64; AdaLN and precision islands remain native | +| `--group-size 32` | Smaller quantization groups; separate quality/memory tradeoff | +| `--encoder-quantize 8` | Independently quantize the fifty language layers | +| `--experimental-steps 0,2,4` | Three original heads with larger Euler intervals; a preview approximation | +| `--offload-after-denoise` | Release DiT before decoding for tighter memory budgets | +| `--rng mlx` | Avoid the PyTorch dependency, using a different seed/noise stream | +| `--vae-backend coreml` | Experimental FP16 ML Package decoder; requires an exported package and matching tile batch | + +The JSON memory report separates MLX allocation counters from macOS parent +physical footprint. Its process lifetime peak includes earlier requests; +the experiment harness also samples each request separately. These counters +overlap and must not be added. The text encoder now reads only requested +vocabulary rows, preserving original BF16 payloads and avoiding a full +vocabulary allocation on a conditioning-cache miss. + +Core ML GPU and `ALL` had small image differences. The batch-eight ANE export +had severe reconstruction artifacts and is a diagnostic option. See the +[device comparison grid](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/decoder-all-product/comparison/grid.png) +and report before selecting it. The full denoiser remains MLX in every runtime +configuration; only the VAE has a Core ML export. + +For repeated quantized runs, preconvert attention/MLP matrices once. This +avoids online conversion at startup; the original checkpoint remains the source +of the exact modulation tables and FP32 layers: + +```bash +python -m h3_mlx.convert --model /path/to/MiniMax-H3-Image --output models/core-q8 --bits 8 +h3-mlx generate --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --quantized-core models/core-q8 "A detailed image description" --output outputs/q8.png +``` + +Conversion writes one block per shard, verifies the source identity on load, +and records SHA256 hashes. It requires additional disk space (roughly half +the native core size for Q8). Quantization is a memory tradeoff; it does not +automatically improve image-generation latency. + +MLX's M5 defaults can reduce the precision of FP32 matrix operations. The +package sets `MLX_ENABLE_TF32=0` and `MLX_CONV_WINOGRAD=0` **before importing +MLX**, retaining full precision for the model's sensitive layers. Explicit +environment overrides are respected and recorded. When embedding this package, +import `h3_mlx` before using MLX, or set those variables before starting Python. +See [MLX's precision documentation](https://ml-explore.github.io/mlx/build/html/usage/precision.html). + +Cross-backend byte identity with CUDA is not promised. Reduction order, +attention arithmetic and GEMM algorithms can change a seeded diffusion +trajectory. The tests distinguish ATen RMSNorm from Qwen's different BF16 +rounding order and allow only narrowly bounded cross-device errors. + +## Reuse resident models + +A fresh CLI process includes checkpoint loading. Use one `Pipeline` for +multiple requests to retain the DiT and VAE in unified memory. Conditioning +and native modulation tables are also cached on disk. + +```python +from h3_mlx.runtime import Pipeline + +pipe = Pipeline("/path/to/MiniMax-H3-Image", "/path/to/MiniMax-H3/text_encoder") +try: + for seed in (731, 732, 733): + image, record = pipe.generate( + "A detailed editorial photograph of a blue perfume bottle on pale stone", + seed=seed, output=f"outputs/bottle-{seed}.png", + ) +finally: + pipe.clear() +``` + +The package does not change system wired-memory settings. It caps block +residency below Metal's recommended working set and keeps a fixed resident +subset when the full core does not fit. Use a smaller block cache and MLP +chunks for larger canvases or lower-memory Macs. + +## Image editing + +The MLX implementation includes the Qwen3-VL vision tower, all three DeepStack +features, multimodal RoPE, a single-frame reduction of the causal CNN VAE +encoder, posterior sampling, and fixed noised reference anchors. References +are processed in input order, up to sixteen: + +```bash +h3-mlx generate \ + --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + "Change the bottle in to emerald glass while preserving the label" \ + --image bottle.png --seed 42 --output outputs/edit.png +``` + +Qwen receives a 1024 px short edge. VAE references retain short edges in +1024–2048 px, with the native 16 px crop and even latent grid. Target noise, +anchor noise and posterior samples consume the CPU generator in upstream +order. This path requires more conditioning work than text-only generation. + +## Measurements and image comparisons + +[The experiment report](../reports/RESULTS.md) describes measured latency, +precision, failed performance hypotheses and remaining work. Raw operator +trials are in [operators.json](../reports/operators.json). Measurements describe +this Mac and the recorded prompts; they are not a general speed or image +quality guarantee. + +Generate a vertical stack, identical 1:1 crops and amplified RGB differences: + +```bash +python -m h3_mlx.compare \ + --reference outputs/suite/product/native-1.png \ + --candidate outputs/suite/product/tuned-1.png \ + --candidate outputs/suite/product/q8-1.png \ + --label 'BF16 native' --label 'BF16 tuned' --label 'Q8' \ + --output comparisons/product +``` + +The comparison tool verifies prompt, seed, dimensions, generation canvas, +noise generator and reference inputs from the inference records. It scores +full-resolution RGB, includes the exact crop coordinates and hashes every +source PNG. PSNR/SSIM quantify similarity to the reference trajectory; visual +inspection remains necessary. The tool never fabricates or retouches evidence. +It also writes `grid.png` and `details-grid.png` for direct side-by-side review. + +## Reproduce experiments + +```bash +python -m pytest -q +python -m h3_mlx.benchmark --tokens 256 4096 --repeats 7 +python experiments/run_suite.py \ + --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --profiles native tuned q8 q4 preview --cases product portrait --repeat 3 +``` + +The suite labels requests that include model loading separately from requests +that reuse resident models. Conditioning-cache hits and all per-stage times +are retained in the raw records. Do not run another GPU workload concurrently +when measuring latency. + +The central memory optimization computes the exact schedule's small AdaLN +outputs once and releases roughly 26 GB of modulation-only DiT weights. +It preserves every learned matrix and uses no curve fitting, pruning, +interpolation or timestep skipping in the default path. The fifty remaining +transformer blocks can then reside in this 64 GB Mac's unified memory. + +Code is Apache-2.0; model weights retain their separate MiniMax licenses. +[NOTICE](../NOTICE) and [source provenance](../provenance/sources.json) identify the +SGLang and Transformers implementations used for the port. diff --git a/docs/VALIDATION.md b/docs/VALIDATION.md new file mode 100644 index 0000000000000000000000000000000000000000..4c6c3fe91248ecf368f2610df506eca9af065646 --- /dev/null +++ b/docs/VALIDATION.md @@ -0,0 +1,34 @@ +# Release validation + +The v0.3.0 historical audit contains 39 passing tests and a complete generation +from the built wheel. Those results describe the historical source and are +not a substitute for validation of the v0.4.0 Hub packaging. + +## Fresh v0.4.0 results + +- **53 tests pass** on the local tested stack. Added checks cover selective + downloads, shared-file reuse, SHA-256 rejection, immutable revisions, + relocation without the original transformer, precision/schedule checks, + manifest path safety and protection of existing model directories. +- Project lint passes. The built `minimax_h3_image_mlx-0.4.0` wheel includes + the catalog and Hub loader. Complete generations ran from the installed + wheel in `/tmp`, with assertions rejecting checkout imports and any access + to the original transformer safetensors. +- **Packed12:** a full 2048 × 2048 product image has the same PNG SHA-256 as + the recorded exact packed reference. All **16 saved trajectory tensors** + match in dtype, shape and every element. [Receipt](validation/packed12-receipt.json). +- **Q4:** a full 2048 × 2048 product image has the same PNG SHA-256 as the + recorded online-Q4 reference. This checks that the exported weights and + portable shared components preserve that existing variant's result. + [Receipt](validation/q4-receipt.json). + +These are one-case fresh-process packaging reproductions, not new performance +campaigns or broad image-quality evaluations. The published BF16, packed12, +Q8, Q4 and shared files were checked against their SHA-256 manifests using +Hub file metadata, and the model cards passed the Hub metadata validator. +The Q8 export was not included in the fresh full-image packaging reproductions. + +Source image-model files were checked against the pinned original verification +manifest in `provenance/weights-manifest.json`. Manifest verification of the +remote components does not by itself establish a full remote download and +end-to-end inference test on another machine. diff --git a/docs/cards/bf16.md b/docs/cards/bf16.md new file mode 100644 index 0000000000000000000000000000000000000000..73877335d64d588b801219a4d93f9d61b3aec2ca --- /dev/null +++ b/docs/cards/bf16.md @@ -0,0 +1,46 @@ +# MiniMax H3 Image MLX · Original BF16 transformer + +Unchanged BF16/FP32 transformer files from the pinned image checkpoint. This is the unmodified storage control; it includes the large timestep modulation matrices. The shared downloader omits its redundant support copy. + +Community adaptation by **Devin Lai**. Powered by MiniMax-H3-Image. + +[Start here: install and quick start](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx) · [Compare variants](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/MODEL_INDEX.md) · [Evidence and limitations](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/BENCHMARKS.md) + +## Download only this variant + +After installing the main runtime and obtaining the required access: + +```bash +h3-mlx download --variant bf16 --model-dir models/bf16 +h3-mlx generate --model models/bf16 \ + --text-encoder models/bf16/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --seed 731 --output outputs/bottle.png +``` + +This fetches this variant, required shared components and the separately pinned +native text encoder (roughly 62 GiB). It does not fetch other variants. Use +`--text-encoder-path /path/to/text_encoder` to reuse an existing encoder. +All image variants retain the six original PDD heads and native FP32 islands. +The published compact format requires this runtime, not a generic Diffusers +or mlx-lm loader. Tested on M5 Pro / 64 GiB; smaller Macs are unqualified. + +## Model card and terms + +This is an inference port of `MiniMaxAI/MiniMax-H3-Image` at revision +`6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901`, not a newly trained model. +No new training dataset is introduced. Training provenance, potential biases, +intended uses and upstream limitations remain those of the original model. +See [modifications](MODIFICATIONS.md), [license](LICENSE) and [NOTICE](NOTICE). + +The MiniMax-H3-Image Community License Agreement and its acceptable-use policy +apply, including territorial and commercial restrictions. The standard grant +excludes the EU, UK, Republic of Korea and US. Access is subject to manual +review; it does not provide separate permission. The upstream text encoder +retains its own MiniMax H3 agreement. This is not an unrestricted open-source +license or an official MiniMax endorsement. + +**Release:** v0.4.0. Access requests are reviewed manually under the retained license. +The actual file manifest records exact sizes and SHA-256 hashes. + +[Report reproducible results or issues](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/discussions) · [Follow devin-lai](https://huggingface.co/devin-lai) diff --git a/docs/cards/packed12.md b/docs/cards/packed12.md new file mode 100644 index 0000000000000000000000000000000000000000..3d79c25e7b6448db45408b1df2c8a10076ebd4c9 --- /dev/null +++ b/docs/cards/packed12.md @@ -0,0 +1,46 @@ +# MiniMax H3 Image MLX · Lossless packed BF16 + +Recommended exact storage choice. Fifty main DiT blocks use the lossless palette12 codec: original BF16 payloads are reconstructed before GEMM. This is not 12-bit quantization. Native token refiners and support tensors come from the shared repository. + +Community adaptation by **Devin Lai**. Powered by MiniMax-H3-Image. + +[Start here: install and quick start](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx) · [Compare variants](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/MODEL_INDEX.md) · [Evidence and limitations](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/BENCHMARKS.md) + +## Download only this variant + +After installing the main runtime and obtaining the required access: + +```bash +h3-mlx download --variant packed12 --model-dir models/packed12 +h3-mlx generate --model models/packed12 \ + --text-encoder models/packed12/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --seed 731 --output outputs/bottle.png +``` + +This fetches this variant, required shared components and the separately pinned +native text encoder (roughly 62 GiB). It does not fetch other variants. Use +`--text-encoder-path /path/to/text_encoder` to reuse an existing encoder. +All image variants retain the six original PDD heads and native FP32 islands. +The published compact format requires this runtime, not a generic Diffusers +or mlx-lm loader. Tested on M5 Pro / 64 GiB; smaller Macs are unqualified. + +## Model card and terms + +This is an inference port of `MiniMaxAI/MiniMax-H3-Image` at revision +`6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901`, not a newly trained model. +No new training dataset is introduced. Training provenance, potential biases, +intended uses and upstream limitations remain those of the original model. +See [modifications](MODIFICATIONS.md), [license](LICENSE) and [NOTICE](NOTICE). + +The MiniMax-H3-Image Community License Agreement and its acceptable-use policy +apply, including territorial and commercial restrictions. The standard grant +excludes the EU, UK, Republic of Korea and US. Access is subject to manual +review; it does not provide separate permission. The upstream text encoder +retains its own MiniMax H3 agreement. This is not an unrestricted open-source +license or an official MiniMax endorsement. + +**Release:** v0.4.0. Access requests are reviewed manually under the retained license. +The actual file manifest records exact sizes and SHA-256 hashes. + +[Report reproducible results or issues](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/discussions) · [Follow devin-lai](https://huggingface.co/devin-lai) diff --git a/docs/cards/q4.md b/docs/cards/q4.md new file mode 100644 index 0000000000000000000000000000000000000000..59debb7675fb8d1751be028ba93187bf0b07783c --- /dev/null +++ b/docs/cards/q4.md @@ -0,0 +1,46 @@ +# MiniMax H3 Image MLX · Q4 affine core + +Fifty main DiT blocks and two token-refiner blocks use MLX affine 4-bit weight quantization, group size 64. This is the smallest core and has stronger observed lettering and detail drift. Inspect the comparisons before choosing it. + +Community adaptation by **Devin Lai**. Powered by MiniMax-H3-Image. + +[Start here: install and quick start](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx) · [Compare variants](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/MODEL_INDEX.md) · [Evidence and limitations](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/BENCHMARKS.md) + +## Download only this variant + +After installing the main runtime and obtaining the required access: + +```bash +h3-mlx download --variant q4 --model-dir models/q4 +h3-mlx generate --model models/q4 \ + --text-encoder models/q4/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --seed 731 --output outputs/bottle.png +``` + +This fetches this variant, required shared components and the separately pinned +native text encoder (roughly 62 GiB). It does not fetch other variants. Use +`--text-encoder-path /path/to/text_encoder` to reuse an existing encoder. +All image variants retain the six original PDD heads and native FP32 islands. +The published compact format requires this runtime, not a generic Diffusers +or mlx-lm loader. Tested on M5 Pro / 64 GiB; smaller Macs are unqualified. + +## Model card and terms + +This is an inference port of `MiniMaxAI/MiniMax-H3-Image` at revision +`6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901`, not a newly trained model. +No new training dataset is introduced. Training provenance, potential biases, +intended uses and upstream limitations remain those of the original model. +See [modifications](MODIFICATIONS.md), [license](LICENSE) and [NOTICE](NOTICE). + +The MiniMax-H3-Image Community License Agreement and its acceptable-use policy +apply, including territorial and commercial restrictions. The standard grant +excludes the EU, UK, Republic of Korea and US. Access is subject to manual +review; it does not provide separate permission. The upstream text encoder +retains its own MiniMax H3 agreement. This is not an unrestricted open-source +license or an official MiniMax endorsement. + +**Release:** v0.4.0. Access requests are reviewed manually under the retained license. +The actual file manifest records exact sizes and SHA-256 hashes. + +[Report reproducible results or issues](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/discussions) · [Follow devin-lai](https://huggingface.co/devin-lai) diff --git a/docs/cards/q8.md b/docs/cards/q8.md new file mode 100644 index 0000000000000000000000000000000000000000..b246b8268b951f1fefd06ca0cf24160382015399 --- /dev/null +++ b/docs/cards/q8.md @@ -0,0 +1,46 @@ +# MiniMax H3 Image MLX · Q8 affine core + +Fifty main DiT blocks and two token-refiner blocks use MLX affine 8-bit weight quantization, group size 64. It reduces storage and memory but changes images; no generation-speed advantage is established. + +Community adaptation by **Devin Lai**. Powered by MiniMax-H3-Image. + +[Start here: install and quick start](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx) · [Compare variants](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/MODEL_INDEX.md) · [Evidence and limitations](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/BENCHMARKS.md) + +## Download only this variant + +After installing the main runtime and obtaining the required access: + +```bash +h3-mlx download --variant q8 --model-dir models/q8 +h3-mlx generate --model models/q8 \ + --text-encoder models/q8/text_encoder \ + 'An editorial photograph of a cobalt perfume bottle on pale stone' \ + --seed 731 --output outputs/bottle.png +``` + +This fetches this variant, required shared components and the separately pinned +native text encoder (roughly 62 GiB). It does not fetch other variants. Use +`--text-encoder-path /path/to/text_encoder` to reuse an existing encoder. +All image variants retain the six original PDD heads and native FP32 islands. +The published compact format requires this runtime, not a generic Diffusers +or mlx-lm loader. Tested on M5 Pro / 64 GiB; smaller Macs are unqualified. + +## Model card and terms + +This is an inference port of `MiniMaxAI/MiniMax-H3-Image` at revision +`6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901`, not a newly trained model. +No new training dataset is introduced. Training provenance, potential biases, +intended uses and upstream limitations remain those of the original model. +See [modifications](MODIFICATIONS.md), [license](LICENSE) and [NOTICE](NOTICE). + +The MiniMax-H3-Image Community License Agreement and its acceptable-use policy +apply, including territorial and commercial restrictions. The standard grant +excludes the EU, UK, Republic of Korea and US. Access is subject to manual +review; it does not provide separate permission. The upstream text encoder +retains its own MiniMax H3 agreement. This is not an unrestricted open-source +license or an official MiniMax endorsement. + +**Release:** v0.4.0. Access requests are reviewed manually under the retained license. +The actual file manifest records exact sizes and SHA-256 hashes. + +[Report reproducible results or issues](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/discussions) · [Follow devin-lai](https://huggingface.co/devin-lai) diff --git a/docs/cards/shared.md b/docs/cards/shared.md new file mode 100644 index 0000000000000000000000000000000000000000..cc6077c03aacd3c1cacd5bcd813c68d32ff4adee --- /dev/null +++ b/docs/cards/shared.md @@ -0,0 +1,25 @@ +# MiniMax H3 Image MLX · shared components + +Shared VAE, PDD heads, native support tensors, transformer configuration and +evaluated six-step modulation tables for the community MLX port by Devin Lai. +Powered by MiniMax-H3-Image. + +The [main runtime](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx) downloads these components once and reuses them +across BF16, lossless packed BF16, Q8 and Q4. It omits the redundant native +support file for the original BF16 variant. No other variant weights are +stored here. The separate native text encoder is fetched from its pinned +official `MiniMaxAI/MiniMax-H3` repository and retains its own license. + +Use `h3-mlx download --variant packed12 --model-dir models/packed12` after +installation. Frozen modulation tables retain the six original timesteps and +the editing anchor; the loader validates MLX 0.32.4, strict FP32 settings and +the original schedule. [Format and modifications](MODIFICATIONS.md). + +This is an inference distribution, not a newly trained model. Training +provenance, biases and limitations remain those of the upstream model. +The [MiniMax-H3-Image Community License Agreement](LICENSE), territorial, +commercial and acceptable-use conditions apply. The standard grant excludes +the EU, UK, Republic of Korea and US. Manual access review does not grant +additional rights. [NOTICE](NOTICE). + +**Release:** v0.4.0. Access requests are reviewed manually. [Main release status](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/main/RELEASE.md). diff --git a/docs/validation/packed12-receipt.json b/docs/validation/packed12-receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..f4a670bc6ef17e29fcb11ee873a768929be3ae5b --- /dev/null +++ b/docs/validation/packed12-receipt.json @@ -0,0 +1,13 @@ +{ + "variant": "packed12", + "wheel_version": "0.4.0", + "wheel_import_verified": true, + "original_transformer_not_accessed": true, + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "reference_png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "pixel_bytes_match": true, + "outer_seconds": 65.7256662088912, + "reference": "examples/product.json", + "scope": "One complete 2048-square fresh-process packaging reproduction; not a performance campaign", + "saved_trajectory_tensors_identical": 16 +} diff --git a/docs/validation/q4-receipt.json b/docs/validation/q4-receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..21bea06e7dfd66f998049e982818be3516a1b9ab --- /dev/null +++ b/docs/validation/q4-receipt.json @@ -0,0 +1,12 @@ +{ + "variant": "q4", + "wheel_version": "0.4.0", + "wheel_import_verified": true, + "original_transformer_not_accessed": true, + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "reference_png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "pixel_bytes_match": true, + "outer_seconds": 71.83495200006291, + "reference": "outputs/suite/product/q4-1.json", + "scope": "One complete 2048-square fresh-process packaging reproduction; not a performance campaign" +} diff --git a/docs/validation/release-receipt.json b/docs/validation/release-receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..893412dc200ddeb1e8de3eb204e81268edb064cf --- /dev/null +++ b/docs/validation/release-receipt.json @@ -0,0 +1,23 @@ +{ + "status": "component-validation-record", + "tests_passed": 53, + "model_cards_validated": 7, + "wheel_sha256": "f4499ed77bfbf9a92aca999fa393cbfa422870fa7c6d3e52bb1ccfd679fff2bd", + "wheel_source_files_identical": 23, + "portable_image_reproductions": [ + "packed12", + "q4" + ], + "packed_saved_tensors_identical": 16, + "remaining": [ + "A complete end-to-end remote download and inference on a separate machine is not covered by this receipt", + "Q8 portable packaging was not included in the fresh full-image reproductions" + ], + "remote_components_manifest_verified": [ + "shared", + "bf16", + "packed12", + "q8", + "q4" + ] +} diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7755f3ef66e8855a2a3f9a6835f3ce4c17331818 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,65 @@ +# Recorded model examples + +All images below are AI-generated outputs from recorded MiniMax-H3-Image MLX runs. +The full-resolution PNGs are unchanged. `assets/showcase.jpg` only resizes and +arranges these images with labels. No generated promotional image substitutes +for a model output. [SHA-256 and source records](provenance.json). + +All four outputs use lossless packed BF16, the native six PDD steps, strict +FP32 precision islands and the selected exact M5 tuning. The portrait depicts +a generated person; no identity or likeness claim is made. + +## product + +[AI-generated product output](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/product.png) + +Seed: `731`. Requested size: `2048 × 2048`. Generation canvas: `2048 × 2048`. + +[Full inference record](product.json) + +```text +Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text. +``` + +## portrait + +[AI-generated portrait output](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/portrait.png) + +Seed: `1234`. Requested size: `2048 × 2048`. Generation canvas: `2048 × 2048`. + +[Full inference record](portrait.json) + +```text +An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering. +``` + +## holdout-detail + +[AI-generated holdout-detail output](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/holdout-detail.png) + +Seed: `928417`. Requested size: `2048 × 2048`. Generation canvas: `2048 × 2048`. + +[Full inference record](holdout-detail.json) + +```text +A meticulous natural light still life on a wooden watchmaker's bench: a silver mechanical wristwatch with a clear glass back, brass gears and hair-thin springs, a folded cream linen glove, a small matte ceramic bowl and a card reading 'SECOND LIGHT'. In the background a woman with warm brown freckled skin holds a magnifying lens, her hands realistically detailed. Fine brushed metal, subtle skin pores, smooth dark-to-light blue gradients and soft window reflections, editorial macro photography. +``` + +## edit + +[AI-generated edit output](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/edit.png) + +Seed: `42`. Requested size: `1024 × 1024`. Generation canvas: `2048 × 2048`. + +[Full inference record](edit.json) + +```text +Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections. +``` + +The source image is also AI-generated: [editing input](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/edit-input.png). + +[AI-generated reference image used for the edit](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/edit-input.png) + +These outputs retain the upstream model/output terms. They are evidence of +particular recorded runs, not a general image-quality guarantee. diff --git a/examples/edit.json b/examples/edit.json new file mode 100644 index 0000000000000000000000000000000000000000..bfd2eb1fa3437a971d564274fc577c8f360c230f --- /dev/null +++ b/examples/edit.json @@ -0,0 +1,156 @@ +{ + "started_utc": "2026-11-12T09:52:48.764995+00:00", + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "seed": 42, + "size": [ + 1024, + 1024 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk-exact", + "threads": 256, + "quantized_path": null, + "compile_blocks": true, + "eval_every": 0, + "keep_refiners": false, + "weight_storage": "packed12", + "async_blocks": false, + "cache_refined_text": true, + "prefetch_blocks": 4, + "tune_matmul": true + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 4, + "dtype": "bfloat16", + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "wired_gb": 32, + "timings": { + "encode_s": 0.09382429183460772, + "dit_setup_s": 0.005678124958649278, + "step_0_s": 15.517480874899775, + "step_1_s": 15.885630707954988, + "step_2_s": 16.043985707918182, + "step_3_s": 16.065357791027054, + "step_4_s": 16.00308766681701, + "step_5_s": 16.0314345411025, + "decode_s": 1.806969250086695, + "total_s": 99.78968337504193 + }, + "nonfinite_steps": [], + "allow_nonfinite_diagnostic": false, + "reference_images": [ + "experiments/reference-bottle.png" + ], + "reference_sha256": [ + "96d23a5fb97d8dbff46990ec6c13a8caf8573f2b4d41820c9cae0efc3d0b872c" + ], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "refiner_cache_hit": true, + "dit_metrics": { + "block_load_s": 0.0, + "block_loads": 0, + "block_wall_s": 95.39545191684738, + "timing_note": "Weight loading can overlap GPU execution. block_wall_s and step timings measure elapsed time; block_load_s is CPU load time and is not additive." + }, + "memory_before_decode": { + "active_gb": 28.10547987744212, + "peak_gb": 30.408709042705595, + "cache_gb": 0.8651334857568145, + "process_physical_gb": 31.34906741976738, + "process_lifetime_peak_physical_gb": 32.752509757876396 + }, + "valid_denoising": true, + "memory": { + "active_gb": 28.104777973145247, + "peak_gb": 30.408709042705595, + "cache_gb": 1.0409698896110058, + "process_physical_gb": 30.725867934525013, + "process_lifetime_peak_physical_gb": 32.752509757876396, + "scope": "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + }, + "output": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "finished_utc": "2026-11-12T09:54:28.558144+00:00", + "physical_memory": { + "sampled_peak_physical_bytes": 34956877512, + "lifetime_peak_physical_bytes": 35167739568, + "sample_interval_s": 0.1, + "sample_count": 932, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "outer_seconds": 99.79413712513633, + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "validation", + "case": "edit", + "canonical_pixel_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e" +} diff --git a/examples/holdout-detail.json b/examples/holdout-detail.json new file mode 100644 index 0000000000000000000000000000000000000000..25bafaae5efad238df9a289c7f33a0fcba81d0af --- /dev/null +++ b/examples/holdout-detail.json @@ -0,0 +1,152 @@ +{ + "started_utc": "2026-11-12T09:49:58.631479+00:00", + "prompt": "A meticulous natural light still life on a wooden watchmaker's bench: a silver mechanical wristwatch with a clear glass back, brass gears and hair-thin springs, a folded cream linen glove, a small matte ceramic bowl and a card reading 'SECOND LIGHT'. In the background a woman with warm brown freckled skin holds a magnifying lens, her hands realistically detailed. Fine brushed metal, subtle skin pores, smooth dark-to-light blue gradients and soft window reflections, editorial macro photography.", + "seed": 928417, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk-exact", + "threads": 256, + "quantized_path": null, + "compile_blocks": true, + "eval_every": 0, + "keep_refiners": false, + "weight_storage": "packed12", + "async_blocks": false, + "cache_refined_text": true, + "prefetch_blocks": 4, + "tune_matmul": true + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 4, + "dtype": "bfloat16", + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "wired_gb": 32, + "timings": { + "encode_s": 0.08309245808050036, + "dit_setup_s": 0.0016110001597553492, + "step_0_s": 10.02036679093726, + "step_1_s": 10.222182292025536, + "step_2_s": 10.317761083133519, + "step_3_s": 10.258633374935016, + "step_4_s": 10.214116165880114, + "step_5_s": 10.211255375063047, + "decode_s": 1.9069041248876601, + "total_s": 63.36157112498768 + }, + "nonfinite_steps": [], + "allow_nonfinite_diagnostic": false, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "refiner_cache_hit": true, + "dit_metrics": { + "block_load_s": 0.0, + "block_loads": 0, + "block_wall_s": 61.13521770830266, + "timing_note": "Weight loading can overlap GPU execution. block_wall_s and step timings measure elapsed time; block_load_s is CPU load time and is not additive." + }, + "memory_before_decode": { + "active_gb": 28.068137355148792, + "peak_gb": 29.951799280941486, + "cache_gb": 0.8534550871700048, + "process_physical_gb": 31.414268136024475, + "process_lifetime_peak_physical_gb": 32.08159601688385 + }, + "valid_denoising": true, + "memory": { + "active_gb": 28.09522170573473, + "peak_gb": 29.951799280941486, + "cache_gb": 1.0468599013984203, + "process_physical_gb": 30.687110543251038, + "process_lifetime_peak_physical_gb": 32.08159601688385, + "scope": "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + }, + "output": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "finished_utc": "2026-11-12T09:51:01.997260+00:00", + "physical_memory": { + "sampled_peak_physical_bytes": 34188549760, + "lifetime_peak_physical_bytes": 34447351424, + "sample_interval_s": 0.1, + "sample_count": 588, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "outer_seconds": 63.36707508307882, + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "validation", + "case": "holdout-detail", + "canonical_pixel_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" +} diff --git a/examples/portrait.json b/examples/portrait.json new file mode 100644 index 0000000000000000000000000000000000000000..3424dbc61404644838ddc68507a083a0994ff886 --- /dev/null +++ b/examples/portrait.json @@ -0,0 +1,152 @@ +{ + "started_utc": "2026-11-12T09:43:27.381516+00:00", + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk-exact", + "threads": 256, + "quantized_path": null, + "compile_blocks": true, + "eval_every": 0, + "keep_refiners": false, + "weight_storage": "packed12", + "async_blocks": false, + "cache_refined_text": true, + "prefetch_blocks": 4, + "tune_matmul": true + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 4, + "dtype": "bfloat16", + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "wired_gb": 32, + "timings": { + "encode_s": 0.08218058408237994, + "dit_setup_s": 0.0021450419444590807, + "step_0_s": 10.038613541051745, + "step_1_s": 10.278275415999815, + "step_2_s": 10.234170750016347, + "step_3_s": 10.295444874791428, + "step_4_s": 10.20847308402881, + "step_5_s": 10.264521708944812, + "decode_s": 1.9153460001107305, + "total_s": 63.443048041081056 + }, + "nonfinite_steps": [], + "allow_nonfinite_diagnostic": false, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "refiner_cache_hit": true, + "dit_metrics": { + "block_load_s": 0.0, + "block_loads": 0, + "block_wall_s": 61.21377325011417, + "timing_note": "Weight loading can overlap GPU execution. block_wall_s and step timings measure elapsed time; block_load_s is CPU load time and is not additive." + }, + "memory_before_decode": { + "active_gb": 28.067724749445915, + "peak_gb": 29.89877963066101, + "cache_gb": 0.8083806354552507, + "process_physical_gb": 31.119941353797913, + "process_lifetime_peak_physical_gb": 32.068702317774296 + }, + "valid_denoising": true, + "memory": { + "active_gb": 28.09522108733654, + "peak_gb": 29.89877963066101, + "cache_gb": 1.0468292646110058, + "process_physical_gb": 30.6782146692276, + "process_lifetime_peak_physical_gb": 32.068702317774296, + "scope": "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + }, + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "finished_utc": "2026-11-12T09:44:30.829142+00:00", + "physical_memory": { + "sampled_peak_physical_bytes": 34173296232, + "lifetime_peak_physical_bytes": 34433506920, + "sample_interval_s": 0.1, + "sample_count": 608, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "outer_seconds": 63.4485142910853, + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "timed", + "case": "portrait", + "canonical_pixel_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" +} diff --git a/examples/product.json b/examples/product.json new file mode 100644 index 0000000000000000000000000000000000000000..7dd67b688193fb01df17467ba603fa4a8d75d6de --- /dev/null +++ b/examples/product.json @@ -0,0 +1,152 @@ +{ + "started_utc": "2026-11-12T09:34:38.633310+00:00", + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk-exact", + "threads": 256, + "quantized_path": null, + "compile_blocks": true, + "eval_every": 0, + "keep_refiners": false, + "weight_storage": "packed12", + "async_blocks": false, + "cache_refined_text": true, + "prefetch_blocks": 4, + "tune_matmul": true + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 4, + "dtype": "bfloat16", + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "wired_gb": 32, + "timings": { + "encode_s": 0.08724224986508489, + "dit_setup_s": 0.0015401248820126057, + "step_0_s": 10.171907834010199, + "step_1_s": 10.420595958130434, + "step_2_s": 10.435337207978591, + "step_3_s": 10.569814499933273, + "step_4_s": 10.503622999880463, + "step_5_s": 10.588133125100285, + "decode_s": 1.9536084169521928, + "total_s": 64.8621540828608 + }, + "nonfinite_steps": [], + "allow_nonfinite_diagnostic": false, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "refiner_cache_hit": true, + "dit_metrics": { + "block_load_s": 0.0, + "block_loads": 0, + "block_wall_s": 62.582668248796836, + "timing_note": "Weight loading can overlap GPU execution. block_wall_s and step timings measure elapsed time; block_load_s is CPU load time and is not additive." + }, + "memory_before_decode": { + "active_gb": 28.06778523698449, + "peak_gb": 29.95053155720234, + "cache_gb": 0.8073888029903173, + "process_physical_gb": 30.186011642217636, + "process_lifetime_peak_physical_gb": 31.78523950278759 + }, + "valid_denoising": true, + "memory": { + "active_gb": 28.095220539718866, + "peak_gb": 29.95053155720234, + "cache_gb": 1.0409092120826244, + "process_physical_gb": 30.454917281866074, + "process_lifetime_peak_physical_gb": 31.78523950278759, + "scope": "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + }, + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "finished_utc": "2026-11-12T09:35:43.499758+00:00", + "physical_memory": { + "sampled_peak_physical_bytes": 33937792328, + "lifetime_peak_physical_bytes": 34129141040, + "sample_interval_s": 0.1, + "sample_count": 627, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "outer_seconds": 64.86743095796555, + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "timed", + "case": "product", + "canonical_pixel_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" +} diff --git a/examples/provenance.json b/examples/provenance.json new file mode 100644 index 0000000000000000000000000000000000000000..2b9e0aa86959f3c1cdbf76ea1137da5f16bac345 --- /dev/null +++ b/examples/provenance.json @@ -0,0 +1,114 @@ +{ + "format": "h3-mlx-gallery-v1", + "showcase_operations": "LANCZOS resize without cropping or retouching, layout and labels", + "examples": [ + { + "case": "product", + "image": "product.png", + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "record": "product.json", + "original_source": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "requested_size": [ + 2048, + 2048 + ], + "generation_canvas": [ + 2048, + 2048 + ], + "variant": "packed12", + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "ai_generated": true + }, + { + "case": "portrait", + "image": "portrait.png", + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "record": "portrait.json", + "original_source": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "requested_size": [ + 2048, + 2048 + ], + "generation_canvas": [ + 2048, + 2048 + ], + "variant": "packed12", + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "ai_generated": true + }, + { + "case": "holdout-detail", + "image": "holdout-detail.png", + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "record": "holdout-detail.json", + "original_source": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png", + "prompt": "A meticulous natural light still life on a wooden watchmaker's bench: a silver mechanical wristwatch with a clear glass back, brass gears and hair-thin springs, a folded cream linen glove, a small matte ceramic bowl and a card reading 'SECOND LIGHT'. In the background a woman with warm brown freckled skin holds a magnifying lens, her hands realistically detailed. Fine brushed metal, subtle skin pores, smooth dark-to-light blue gradients and soft window reflections, editorial macro photography.", + "seed": 928417, + "requested_size": [ + 2048, + 2048 + ], + "generation_canvas": [ + 2048, + 2048 + ], + "variant": "packed12", + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "ai_generated": true + }, + { + "case": "edit", + "image": "edit.png", + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "record": "edit.json", + "original_source": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png", + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "seed": 42, + "requested_size": [ + 1024, + 1024 + ], + "generation_canvas": [ + 2048, + 2048 + ], + "variant": "packed12", + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "ai_generated": true + } + ] +} diff --git a/experiments/audit_modulation.py b/experiments/audit_modulation.py new file mode 100644 index 0000000000000000000000000000000000000000..b4147bd373a822e700fba6b1d6c26e27bd442321 --- /dev/null +++ b/experiments/audit_modulation.py @@ -0,0 +1,94 @@ +"""Check schedule caching against individual GEMVs and PyTorch on actual weights.""" + +from __future__ import annotations + +import argparse +import json +import math +from pathlib import Path + +import mlx.core as mx +import numpy as np +import torch +import torch.nn.functional as F + +from h3_mlx.benchmark import error +from h3_mlx.config import load_sigmas +from h3_mlx.ops import silu +from h3_mlx.runtime import configure_memory +from h3_mlx.weights import Linear, WeightStore + + +def tensor(x): + # Bit-preserve BF16 rather than round-tripping it through FP32. + if x.dtype == mx.bfloat16: + return torch.from_numpy(np.asarray(x.view(mx.uint16)).copy()).view( + torch.bfloat16 + ) + return torch.from_numpy(np.asarray(x).copy()) + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--layers", type=int, nargs="+", default=[0, 25, 49]) + p.add_argument("--output", default="reports/modulation-audit.json") + a = p.parse_args() + configure_memory() + torch.set_num_threads(6) + path = Path(a.model) + store = WeightStore(path / "transformer") + sigmas = load_sigmas(path) + times = mx.array([1 - s for s in sigmas[:-1]], mx.float32) + freq = mx.exp(-math.log(10000) * mx.arange(128, dtype=mx.float32) / 128) + args = times[:, None] * freq + features = mx.concatenate((mx.cos(args), mx.sin(args)), axis=-1) + first = Linear.load(store, "time_embedder.proj_in") + last = Linear.load(store, "time_embedder.proj_out") + t = silu(last(silu(first(features)))).astype(mx.bfloat16) + mx.eval(t) + tt = torch.tensor([1 - s for s in sigmas[:-1]], dtype=torch.float32) + tf = torch.exp(-math.log(10000) * torch.arange(128, dtype=torch.float32) / 128) + tf = tt[:, None] * tf + tf = torch.cat((tf.cos(), tf.sin()), -1) + tf = F.silu( + F.linear( + F.silu(F.linear(tf, tensor(first.weight), tensor(first.bias))), + tensor(last.weight), + tensor(last.bias), + ) + ).bfloat16() + records = [] + for index in a.layers: + linear = Linear.load(store, f"blocks.{index}.adaln_proj.linear") + batched = linear(t) + individual = mx.concatenate([linear(t[i : i + 1]) for i in range(6)]) + mx.eval(batched, individual) + tw, tb = tensor(linear.weight), tensor(linear.bias) + with torch.inference_mode(): + ref = torch.cat([F.linear(tf[i : i + 1], tw, tb) for i in range(6)]) + reference = mx.array(ref.float().numpy()).astype(mx.bfloat16) + row = { + "layer": index, + "batched_vs_individual_mlx": error(individual, batched), + "mlx_vs_native_torch_cpu": error(reference, batched), + } + print(json.dumps(row), flush=True) + records.append(row) + del linear, tw, tb, batched, individual, reference, ref + mx.clear_cache() + Path(a.output).write_text( + json.dumps( + { + "source": store.fingerprint(), + "layers": records, + "scope": "Actual original weights; original one-row-per-step BF16 projections, FP32 timestep MLP; CPU PyTorch is not a CUDA image reference", + }, + indent=2, + ) + + "\n" + ) + + +if __name__ == "__main__": + main() diff --git a/experiments/build_report.py b/experiments/build_report.py new file mode 100644 index 0000000000000000000000000000000000000000..1d174eb42b7b1251d833f156e7e6c900b3624ed6 --- /dev/null +++ b/experiments/build_report.py @@ -0,0 +1,231 @@ +"""Build matched galleries, raw record exports and charts from completed trials.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import shutil +from pathlib import Path + +from h3_mlx.compare import make_comparison + +LABELS = { + "native": "BF16 native / six passes", + "tuned": "BF16 / fused AdaLN / tile batch 8", + "fused": "BF16 / fused AdaLN + QK-RoPE / tile batch 8", + "q8": "DiT Q8 / six passes", + "q4": "DiT Q4 / six passes", + "preview": "BF16 preview / steps 0,2,4", + "q8-g32": "DiT Q8 / group 32 / six passes", + "chunked": "BF16 / MLP chunks 1024", +} + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--runs", default="outputs/suite") + p.add_argument("--output", default="comparisons") + p.add_argument( + "--cuda-reference-root", + help="Optional saved single-bf16-stream CUDA run; quality=lossless", + ) + a = p.parse_args() + runs, output = Path(a.runs), Path(a.output) + records = [] + for case in sorted(d for d in runs.iterdir() if d.is_dir()): + files = sorted(case.glob("*.png")) + native = sorted(case.glob("native-*.png")) + if not native: + continue + reference = native[-1] + candidates = [] + labels = [LABELS["native"]] + for name, label in LABELS.items(): + if name == "native": + continue + selected = sorted(case.glob(f"{name}-*.png")) + if selected: + candidates.append(selected[-1]) + labels.append(label) + if candidates: + crop = (1024, 384, 1536, 896) if case.name == "portrait" else None + make_comparison( + reference, candidates, output / case.name, labels=labels, crop=crop + ) + for file in files: + record = json.loads(file.with_suffix(".json").read_text()) + record["case"] = case.name + record["profile"] = file.stem.rsplit("-", 1)[0] + record["trial"] = int(file.stem.rsplit("-", 1)[1]) + records.append(record) + target = ( + Path("reports/inference") / case.name / file.with_suffix(".json").name + ) + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(file.with_suffix(".json"), target) + if a.cuda_reference_root: + source = Path(a.cuda_reference_root) + image = source / f"{case.name}.png" + if image.exists(): + rows = [ + json.loads(line) + for line in (source / "results.jsonl").read_text().splitlines() + ] + original = next( + r for r in rows if r["case"] == case.name and r["trial"] == 1 + ) + if hashlib.sha256(image.read_bytes()).hexdigest() != original["sha256"]: + raise ValueError(f"CUDA source hash mismatch: {image}") + native_record = json.loads(reference.with_suffix(".json").read_text()) + if tuple(map(int, original["size"].split("x"))) != tuple( + native_record["size"] + ): + continue + target = output / "cuda-reference" / f"{case.name}.png" + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(image, target) + r = { + k: native_record[k] + for k in ( + "prompt", + "seed", + "size", + "canvas", + "rng", + "sigmas", + "steps", + ) + } + # The original request script explicitly used CPU random noise. + r.update( + output=str(target), + timings={"total_s": original["wall_seconds"]}, + environment={ + "device": "RTX 5090", + "backend": "SGLang CUDA", + "quality": original["quality"], + }, + source_record=original, + reference_images=[], + reference_sha256=[], + ) + r["dit"] = {"precision": "BF16"} + r["vae"] = {"quality": original["quality"]} + target.with_suffix(".json").write_text(json.dumps(r, indent=2) + "\n") + make_comparison( + target, + [reference], + output / f"{case.name}-cuda", + labels=[ + "CUDA BF16 / upstream lossless quality", + "MLX BF16 / native tile recipe", + ], + ) + Path("reports").mkdir(exist_ok=True) + Path("reports/image-trials.json").write_text(json.dumps(records, indent=2) + "\n") + plot(records, output) + + +def plot(records, output): + import matplotlib + + matplotlib.use("Agg") + import matplotlib.pyplot as plt + from PIL import Image + + from h3_mlx.compare import image_metrics + + product = [ + r for r in records if r["case"] == "product" and r.get("dit_was_resident") + ] + if not product: + return + order = [n for n in LABELS if any(r["profile"] == n for r in product)] + selected = [ + max((r for r in product if r["profile"] == n), key=lambda r: r["trial"]) + for n in order + ] + baseline = max( + (r for r in records if r["case"] == "product" and r["profile"] == "native"), + key=lambda r: r["trial"], + ) + ref = Image.open(baseline["output"]) + scores = [image_metrics(ref, Image.open(r["output"])) for r in selected] + summary = [] + for row, score in zip(selected, scores, strict=True): + summary.append( + { + "profile": row["profile"], + "passes": len(row["steps"]), + "denoise_s": sum( + v for k, v in row["timings"].items() if k.startswith("step_") + ), + "fresh_end_to_end_s": row["timings"].get("total_s"), + "peak_mlx_gib": row["memory"]["peak_gb"], + **score, + } + ) + Path("reports/tradeoffs.json").write_text(json.dumps(summary, indent=2) + "\n") + table = [ + "| Profile | Passes | DiT only | Fresh end-to-end | Recorded peak MLX | RGB SSIM | RGB MAE / 255 |", + "|---|---:|---:|---:|---:|---:|---:|", + ] + for row in summary: + e2e = ( + "—" + if row["fresh_end_to_end_s"] is None + else f"{row['fresh_end_to_end_s']:.2f} s" + ) + table.append( + f"| {row['profile']} | {row['passes']} | {row['denoise_s']:.2f} s | {e2e} | {row['peak_mlx_gib']:.2f} GiB | {row['ssim_rgb']:.4f} | {row['mae_8bit']:.3f} |" + ) + result_path = Path("reports/RESULTS.md") + if result_path.exists(): + content = result_path.read_text() + begin, end = "", "" + if begin in content and end in content: + before, rest = content.split(begin, 1) + _, after = rest.split(end, 1) + result_path.write_text( + before + begin + "\n\n" + "\n".join(table) + "\n\n" + end + after + ) + fig, axes = plt.subplots(1, 3, figsize=(14, 5), layout="constrained") + names = [r["profile"] for r in selected] + values = [ + [ + sum(v for k, v in r["timings"].items() if k.startswith("step_")) + for r in selected + ], + [r["memory"]["peak_gb"] for r in selected], + [m["ssim_rgb"] for m in scores], + ] + colors = [ + "#456dba" if n in ("native", "tuned", "fused") else "#d28c43" for n in names + ] + for ax, vs, title in zip( + axes, + values, + [ + "DiT denoising only: seconds", + "Recorded peak MLX allocation: GiB", + "RGB SSIM to MLX native", + ], + strict=True, + ): + bars = ax.bar(names, vs, color=colors) + ax.set_title(title) + ax.tick_params(axis="x", rotation=45) + ax.spines[["top", "right"]].set_visible(False) + ax.bar_label(bars, fmt="%.3g", padding=3, fontsize=9) + ax.set_ylim(0, max(vs) * 1.2) + fig.suptitle( + "M5 Pro 64 GB · 2048×2048 product · recorded DiT stages, corrected decoder for every image", + fontsize=12, + ) + fig.savefig(Path("reports") / "tradeoffs.png", dpi=160) + plt.close(fig) + + +if __name__ == "__main__": + main() diff --git a/experiments/cases.json b/experiments/cases.json new file mode 100644 index 0000000000000000000000000000000000000000..2a968ed02c0051a019c4414bd9d03f6e9b9284ec --- /dev/null +++ b/experiments/cases.json @@ -0,0 +1,33 @@ +[ + { + "id": "product", + "width": 2048, + "height": 2048, + "seed": 731, + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text." + }, + { + "id": "portrait", + "width": 2048, + "height": 2048, + "seed": 1234, + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering." + }, + { + "id": "native-4k", + "width": 4096, + "height": 4096, + "seed": 802, + "prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition." + }, + { + "id": "edit", + "width": 1024, + "height": 1024, + "seed": 42, + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "images": [ + "experiments/reference-bottle.png" + ] + } +] diff --git a/experiments/final_bf16.py b/experiments/final_bf16.py new file mode 100644 index 0000000000000000000000000000000000000000..8f87f5b44a44367c9e83e3ada740b80813bb2310 --- /dev/null +++ b/experiments/final_bf16.py @@ -0,0 +1,52 @@ +"""Fresh end-to-end timings after the final decoder arithmetic audit.""" + +from __future__ import annotations + +import argparse +import json +import logging +from pathlib import Path + +from h3_mlx.runtime import Pipeline + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--text-encoder", required=True) + a = p.parse_args() + logging.basicConfig( + level=logging.INFO, format="%(asctime)s %(message)s", datefmt="%H:%M:%S" + ) + case = next( + c + for c in json.loads(Path("experiments/cases.json").read_text()) + if c["id"] == "product" + ) + pipe = Pipeline(a.model, a.text_encoder) + try: + for name, trial, kernel, batch in [ + ("native", 2, "native", 1), + ("native", 3, "native", 1), + ("fused", 2, "metal-qk", 8), + ]: + pipe.dit_options.update(kernel=kernel) + pipe.vae_options.update(tile_batch=batch) + if pipe.model is not None: + pipe.model.kernel = kernel + if pipe.vae is not None: + pipe.vae.tile_batch = batch + pipe.generate( + case["prompt"], + width=2048, + height=2048, + seed=case["seed"], + output=f"outputs/suite/product/{name}-{trial}.png", + save_trace=True, + ) + finally: + pipe.clear() + + +if __name__ == "__main__": + main() diff --git a/experiments/gallery_r3.py b/experiments/gallery_r3.py new file mode 100644 index 0000000000000000000000000000000000000000..beeca281cef8673eaa1a02e5ba08bdff0e8eab7e --- /dev/null +++ b/experiments/gallery_r3.py @@ -0,0 +1,91 @@ +"""Assemble actual pipeline outputs without fabricated comparison imagery.""" + +import hashlib +import html +import json +from pathlib import Path + +from PIL import Image, ImageDraw, ImageFont + + +def main(): + root = Path("comparisons/optimization-r3") + root.mkdir(parents=True, exist_ok=True) + cases = ["product", "portrait", "holdout-detail", "edit"] + groups = [ + ("Exact Q/K fusion + FC2 tuning", "optimization-r3-qk", "qk-fc2-native-norm"), + ( + "Lossless packed weights + exact tuning", + "optimization-r3-compact", + "qk-fc2-native-norm", + ), + ( + "Full-width fusion: exact pixels, memory tradeoff", + "optimization-r3-deployment", + "qk-fc2", + ), + ] + parts = [ + 'MiniMax H3: measured comparisons', + "

MiniMax H3: measured image comparisons

Actual saved model outputs, matched prompts, seeds, canvas and reference inputs. Each linked gallery includes native-resolution crops, vertical stacks, and RGB differences amplified eight times.

Exact means no additional change relative to the MLX BF16 recipe on these cases. FP32-decoder and CUDA comparisons are linked separately below.

", + ] + records = [] + font = ImageFont.truetype("/System/Library/Fonts/Supplemental/Arial.ttf", 21) + for title, folder, variant in groups: + paths = [Path("comparisons") / folder / case / variant for case in cases] + if not all( + (p / "metrics.json").exists() and (p / "grid.png").exists() for p in paths + ): + raise FileNotFoundError(f"Incomplete final gallery: {folder}") + parts.append(f"

{html.escape(title)}

") + images = [] + for case, path in zip(cases, paths, strict=True): + rel = Path("..") / folder / case / variant + metrics = json.loads((path / "metrics.json").read_text()) + records.append( + { + "group": title, + "case": case, + "gallery": str(path / "index.html"), + "metrics_sha256": hashlib.sha256( + (path / "metrics.json").read_bytes() + ).hexdigest(), + "grid_sha256": hashlib.sha256( + (path / "grid.png").read_bytes() + ).hexdigest(), + "pixel_identical": all( + r["pixel_identical"] for r in metrics["rows"] + ), + } + ) + parts.append( + f'

{html.escape(case)}

Full gallery, detail crops and 8× difference · vertical stackMatched {html.escape(case)} control and candidate images' + ) + images.append((case, Image.open(path / "grid.png").convert("RGB"))) + width = max(im.width for _, im in images) + canvas = Image.new( + "RGB", (width, sum(im.height + 38 for _, im in images)), (16, 21, 29) + ) + draw = ImageDraw.Draw(canvas) + y = 0 + for case, im in images: + draw.text((12, y + 6), case, font=font, fill="white") + canvas.paste(im, (0, y + 38)) + y += im.height + 38 + stack = root / f"{folder}-all-cases.png" + canvas.save(stack) + parts.append( + f'

Download the four-case comparison stack

' + ) + parts.append( + '

Earlier precision-loss examples

These are earlier experiments, retained to show actual quality differences. Their timings are not pooled with this campaign.

' + ) + (root / "index.html").write_text("\n".join(parts)) + (root / "gallery.json").write_text(json.dumps(records, indent=2) + "\n") + if not all(r["pixel_identical"] for r in records): + raise ValueError("An advertised exact gallery changes pixels") + print(f"Wrote {len(records)} audited image comparisons and three four-case stacks") + + +if __name__ == "__main__": + main() diff --git a/experiments/plot_r3.py b/experiments/plot_r3.py new file mode 100644 index 0000000000000000000000000000000000000000..c7806b63fb4e2ce71a2941f6ef176d1314735297 --- /dev/null +++ b/experiments/plot_r3.py @@ -0,0 +1,78 @@ +"""Plot paired raw samples without pooling campaigns or overlapping memory counters.""" + +import json +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt + + +def draw(path, variant, title, destination): + data = json.loads(path.read_text()) + fig, axes = plt.subplots(1, 2, figsize=(10.2, 4.5), layout="constrained") + colors = ["#62738A", "#087F8C"] + labels = ["Paired current control", "Exact Q/K + FC2 tuning"] + for j, case in enumerate(["product", "portrait"]): + for k, (offset, name) in enumerate([(-0.18, "control"), (0.18, variant)]): + row = data["cases"][case][name] + x = j + offset + med = row["median_s"] + axes[0].bar( + x, med, width=0.32, color=colors[k], label=labels[k] if j == 0 else None + ) + axes[0].scatter( + [x] * len(row["samples_s"]), + row["samples_s"], + s=15, + color="black", + zorder=3, + ) + axes[0].text(x, med + 1.7, f"{med:.2f}", ha="center", fontsize=9) + peak = row["peak_physical_bytes"] / 1024**3 + axes[1].bar(x, peak, width=0.32, color=colors[k]) + axes[1].text(x, peak + 0.5, f"{peak:.2f}", ha="center", fontsize=9) + for ax in axes: + ax.set_xticks([0, 1], ["Product 2048²", "Portrait 2048²"]) + ax.spines[["top", "right"]].set_visible(False) + ax.set_axisbelow(True) + ax.grid(axis="y", alpha=0.2) + axes[0].set_ylabel("Complete warm generation (s)") + axes[0].set_ylim( + 0, + max( + r[name]["max_s"] + for r in data["cases"].values() + for name in ["control", variant] + ) + + 8, + ) + axes[0].set_title("Three paired repeats; dots are raw samples") + axes[1].set_ylabel("Maximum sampled parent physical footprint (GiB)") + axes[1].set_ylim(0, 50) + axes[1].set_title("Includes Metal; 100 ms sampling; counters not summed") + fig.legend( + *axes[0].get_legend_handles_labels(), + loc="outside lower center", + ncol=2, + fontsize=8, + ) + fig.suptitle(title + " · M5 Pro / MLX 0.32.4", fontsize=12) + fig.savefig(destination, dpi=170) + plt.close(fig) + + +if __name__ == "__main__": + root = Path("reports/optimization-r3") + for folder, title, output in [ + ("qk-deployment", "Native BF16 weight storage", "timing-memory.png"), + ( + "compact-deployment", + "Lossless packed BF16 weight storage", + "compact-timing-memory.png", + ), + ]: + path = root / folder / "summary.json" + if path.exists(): + draw(path, "qk-fc2-native-norm", title, root / output) diff --git a/experiments/r3/blocks.py b/experiments/r3/blocks.py new file mode 100644 index 0000000000000000000000000000000000000000..a084197a0f2fb4c2b8b115099ccd3906cff7791f --- /dev/null +++ b/experiments/r3/blocks.py @@ -0,0 +1,162 @@ +"""Matched compiled-block validation of the operator finalists.""" + +import argparse +import copy +import json +import types +from pathlib import Path + +import mlx.core as mx + +from experiments.r3.common import paired +from experiments.r3.fusions import TunedFC2, qk_native_reduce +from h3_mlx.benchmark import error +from h3_mlx.config import SIGMAS +from h3_mlx.dit import DiT +from h3_mlx.layout import image_positions, rope_cache +from h3_mlx.memory import FootprintMonitor +from h3_mlx.ops import attention, modulate, rms_norm, rotate +from h3_mlx.runtime import configure_memory, environment + + +def main(a): + configure_memory(wired_gb=14) + report = {"environment": environment(), "trace": a.trace, "trials": []} + with FootprintMonitor() as memory: + data = mx.load(a.trace) + model = DiT(a.model) + model.prepare_modulation(SIGMAS) + text = model.refine(data["conditioning"]) + x = mx.concatenate( + ( + text, + model._linear("video_patch_proj")(data["initial_rows"]).astype( + mx.bfloat16 + ), + ), + axis=0, + ) + rope = rope_cache( + image_positions(len(text), 128, 128), model._constant("rope.inv_freq") + ) + indices = mx.concatenate((data["text_tags"], mx.zeros(4096, mx.int32))) + params = tuple(model.modulation["block.0"][0, :, j] for j in range(6)) + block = model._block("blocks.0") + native_fc2 = block.fc2 + control = mx.compile( + lambda x, params, indices, rope: block( + x, params=params, indices=indices, rope=rope, mlp_chunk=0 + ) + ) + ref = control(x, params, indices, rope) + mx.eval(ref) + xx = modulate(x, block.n1, params[0], params[1], indices, block.config.norm_eps) + qkv = block.qkv(xx).reshape(-1, 3, 56, 128) + qref = tuple( + rotate(rms_norm(qkv[None, :, j], w, block.config.qk_norm_eps), *rope) + for j, w in ((0, block.qn), (1, block.kn)) + ) + mx.eval(qkv, qref) + for head_major in (False, True): + + def fn(head_major=head_major): + return qk_native_reduce( + qkv, + block.qn, + block.kn, + *rope, + block.config.qk_norm_eps, + head_major=head_major, + ) + + result = fn() + if head_major: + result = tuple(t.transpose(0, 2, 1, 3) for t in result) + row = { + "group": "qk_native_reduce", + "head_major": head_major, + **error(mx.stack(qref), mx.stack(result)), + } + + def native(): + return tuple( + rotate( + rms_norm(qkv[None, :, j], w, block.config.qk_norm_eps), *rope + ) + for j, w in ((0, block.qn), (1, block.kn)) + ) + + row.update(paired(native, fn, a.repeats)) + report["trials"].append(row) + print(json.dumps(row), flush=True) + block.fc2 = TunedFC2(native_fc2) + candidate = mx.compile( + lambda x, params, indices, rope: block( + x, params=params, indices=indices, rope=rope, mlp_chunk=0 + ) + ) + row = { + "group": "fc2_compiled_block", + **error(ref, candidate(x, params, indices, rope)), + } + row.update( + paired( + lambda: control(x, params, indices, rope), + lambda: candidate(x, params, indices, rope), + a.repeats, + ) + ) + report["trials"].append(row) + print(json.dumps(row), flush=True) + # Separate block objects keep native compiled closures independent. + for tuned_fc2 in (False, True): + fused = copy.copy(block) + fused.fc2 = TunedFC2(native_fc2) if tuned_fc2 else native_fc2 + + def fused_attn( + self, xx, rope, query_chunk, kernel="native", projection_weights=None + ): + qq = self.qkv(xx).reshape(-1, 3, 56, 128) + q, k = qk_native_reduce( + qq, self.qn, self.kn, *rope, self.config.qk_norm_eps + ) + v = qq[None, :, 2] + return self.out( + attention(q, k, v, query_chunk=query_chunk).reshape(xx.shape[0], -1) + ) + + fused.attn = types.MethodType(fused_attn, fused) + runner = mx.compile( + lambda x, params, indices, rope, fused=fused: fused( + x, params=params, indices=indices, rope=rope, mlp_chunk=0 + ) + ) + row = { + "group": "qk_and_fc2_compiled_block" + if tuned_fc2 + else "qk_compiled_block", + **error(ref, runner(x, params, indices, rope)), + } + row.update( + paired( + lambda: control(x, params, indices, rope), + lambda runner=runner: runner(x, params, indices, rope), + a.repeats, + ) + ) + report["trials"].append(row) + print(json.dumps(row), flush=True) + model.clear() + report["memory"] = memory.result() + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument( + "--trace", default="outputs/suite/product/native-3.trace.safetensors" + ) + p.add_argument("--repeats", type=int, default=10) + p.add_argument("--output", default="reports/optimization-r3/blocks.json") + main(p.parse_args()) diff --git a/experiments/r3/common.py b/experiments/r3/common.py new file mode 100644 index 0000000000000000000000000000000000000000..6d844c7af55bfb3f311718959b3ab4c085611fae --- /dev/null +++ b/experiments/r3/common.py @@ -0,0 +1,40 @@ +"""Counterbalanced timings and macOS physical footprint, without another GPU runtime.""" + +from __future__ import annotations + +import statistics +import time + +import mlx.core as mx + + +def paired(control, candidate, repeats=6, warmup=2): + for _ in range(warmup): + mx.eval(control()) + mx.eval(candidate()) + samples = {"control": [], "candidate": []} + order = [] + for i in range(repeats): + names = ("control", "candidate") if i % 2 == 0 else ("candidate", "control") + for name in names: + fn = control if name == "control" else candidate + mx.synchronize() + start = time.perf_counter() + value = fn() + mx.eval(value) + mx.synchronize() + samples[name].append((time.perf_counter() - start) * 1000) + order.append(name) + del value + result = {"order": order} + for name, values in samples.items(): + result[name] = { + "median_ms": statistics.median(values), + "min_ms": min(values), + "max_ms": max(values), + "samples_ms": values, + } + result["reduction_pct"] = 100 * ( + 1 - result["candidate"]["median_ms"] / result["control"]["median_ms"] + ) + return result diff --git a/experiments/r3/embedding.py b/experiments/r3/embedding.py new file mode 100644 index 0000000000000000000000000000000000000000..6c902614723386f0ee2540be9cf1db928df3174e --- /dev/null +++ b/experiments/r3/embedding.py @@ -0,0 +1,58 @@ +"""Fresh-process embedding-row experiment; never initialize Torch/MPS.""" + +import argparse +import hashlib +import json +import time +from pathlib import Path + +import mlx.core as mx +import numpy as np + +from h3_mlx.memory import FootprintMonitor +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.weights import WeightStore + + +def main(a): + configure_memory() + store = WeightStore(a.encoder) + key = "model.language_model.embed_tokens.weight" + # Same number of padded/effective token rows as product, with duplicates, + # padding, and vocabulary endpoints. No tokenizer/download dependency. + ids = ([0, 1, 3, store.headers[key]["shape"][0] - 1, 3, 0, 100, 999] * 11)[:88] + if max(ids) >= store.headers[key]["shape"][0]: + raise ValueError("Unexpected vocabulary") + tick = time.perf_counter() + with FootprintMonitor(interval=0.001) as physical: + if a.mode == "full": + embedding = store.get(key) + value = embedding[mx.array(ids, mx.int32)] + mx.eval(value) + del embedding + else: + value = store.get(key, rows=ids) + mx.eval(value) + elapsed = time.perf_counter() - tick + bits = np.asarray(value.view(mx.uint16)) + row = { + "mode": a.mode, + "seconds": elapsed, + "physical": physical.result(), + "mlx_peak_bytes": mx.get_peak_memory(), + "output_sha256": hashlib.sha256(bits.tobytes()).hexdigest(), + "shape": list(value.shape), + "environment": environment(), + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + } + dest = Path(a.output) + dest.write_text(json.dumps(row, indent=2) + "\n") + print(json.dumps(row), flush=True) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--encoder", required=True) + p.add_argument("--mode", choices=["full", "rows"], required=True) + p.add_argument("--output", required=True) + main(p.parse_args()) diff --git a/experiments/r3/embedding_campaign.py b/experiments/r3/embedding_campaign.py new file mode 100644 index 0000000000000000000000000000000000000000..2284a901722687c0a5da0845620634bf72969ae5 --- /dev/null +++ b/experiments/r3/embedding_campaign.py @@ -0,0 +1,72 @@ +"""Fresh-process AB/BA comparison of full-vocabulary load vs exact row reads.""" + +import argparse +import json +import statistics +import subprocess +import sys +import time +from pathlib import Path + + +def main(a): + root = Path(a.output) + root.mkdir(parents=True, exist_ok=True) + runs = [] + + def run(mode, repeat, phase): + output = root / f"{mode}-{phase}-{repeat}.json" + command = [ + sys.executable, + "-m", + "experiments.r3.embedding", + "--encoder", + a.encoder, + "--mode", + mode, + "--output", + str(output), + ] + tick = time.perf_counter() + with output.with_suffix(".log").open("w") as handle: + subprocess.run(command, stdout=handle, stderr=subprocess.STDOUT, check=True) + row = json.loads(output.read_text()) + row.update( + outer_seconds=time.perf_counter() - tick, + repeat=repeat, + phase=phase, + command=command, + ) + output.write_text(json.dumps(row, indent=2) + "\n") + runs.append(row) + + run("full", -1, "prepare-page-cache") + for repeat in range(3): + for mode in ("full", "rows") if repeat % 2 == 0 else ("rows", "full"): + run(mode, repeat, "timed") + if len({r["output_sha256"] for r in runs}) != 1: + raise ValueError("Selected embedding payloads differ") + summary = { + "all_bits_identical": True, + "scope": "Embedding read and gather only, fresh processes, page cache prepared. Not a complete encoder or generation speedup.", + "variants": {}, + } + for mode in ("full", "rows"): + rr = [r for r in runs if r["mode"] == mode and r["phase"] == "timed"] + summary["variants"][mode] = { + "samples_s": [r["seconds"] for r in rr], + "median_s": statistics.median(r["seconds"] for r in rr), + "peak_physical_bytes": max( + r["physical"]["sampled_peak_physical_bytes"] for r in rr + ), + "peak_mlx_bytes": max(r["mlx_peak_bytes"] for r in rr), + } + (root / "summary.json").write_text(json.dumps(summary, indent=2) + "\n") + print(json.dumps(summary, indent=2)) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--encoder", required=True) + p.add_argument("--output", default="reports/optimization-r3/embedding") + main(p.parse_args()) diff --git a/experiments/r3/fc1.py b/experiments/r3/fc1.py new file mode 100644 index 0000000000000000000000000000000000000000..0c2a5c853c04c24df2809e69c697045dc7c8d15c --- /dev/null +++ b/experiments/r3/fc1.py @@ -0,0 +1,136 @@ +"""Metal 4 dual-accumulator FC1 + SwiGLU epilogue; operator screen only.""" + +import argparse +import itertools +import json +from functools import lru_cache +from pathlib import Path + +import mlx.core as mx + +from experiments.r3.common import paired +from h3_mlx.benchmark import error +from h3_mlx.config import SIGMAS +from h3_mlx.dit import DiT +from h3_mlx.layout import image_positions, rope_cache +from h3_mlx.ops import gated_add, modulate, swiglu +from h3_mlx.runtime import configure_memory, environment + + +@lru_cache(None) +def kernel(): + return mx.fast.metal_kernel( + name="h3_r3_mpp_fc1_swiglu", + input_names=["x", "w"], + output_names=["out"], + header="#include \n#include \nusing namespace mpp::tensor_ops;", + source=r""" + const int M=x_shape[0], K=x_shape[1], N=w_shape[0]/2; + int tm=(M+BM-1)/BM, tn=N/BN; + int tile=threadgroup_position_in_grid.x; + int group=tile/(8*tn), fm=group*8, sm=min(tm-fm,8); + int local=tile-group*8*tn; + int ti=fm+local%sm, tj=local/sm; + auto A=tensor(const_cast(x),dextents(K,M),array{1,K}); + auto B=tensor(const_cast(w),dextents(K,N*2),array{1,K}); + auto D=tensor(out,dextents(N,M),array{1,N}); + constexpr auto desc=matmul2d_descriptor(BM,BN,BK,false,true,false,matmul2d_descriptor::mode::multiply_accumulate); + matmul2d> op; + auto a0=A.template slice(0,ti*BM); + auto b0=B.template slice(0,tj*BN); + auto ga=op.template get_destination_cooperative_tensor(); + auto ua=op.template get_destination_cooperative_tensor(); + #pragma unroll + for (int e=0;e(k,ti*BM); + auto bg=B.template slice(k,tj*BN); + auto bu=B.template slice(k,N+tj*BN); + op.run(a,bg,ga); op.run(a,bu,ua); + } + auto result=op.template get_destination_cooperative_tensor(); + #pragma unroll + for (int e=0;e(tj*BN,ti*BM)); + """, + ) + + +def fused(x, w, bm, bn, bk, sg): + n = w.shape[0] // 2 + return kernel()( + inputs=[x, w], + template=[("T", x.dtype), ("BM", bm), ("BN", bn), ("BK", bk), ("SG", sg)], + grid=(((x.shape[0] + bm - 1) // bm) * (n // bn) * sg * 32, 1, 1), + threadgroup=(sg * 32, 1, 1), + output_shapes=[(x.shape[0], n)], + output_dtypes=[x.dtype], + )[0] + + +def main(a): + configure_memory(wired_gb=14) + data = mx.load(a.trace) + model = DiT(a.model) + model.prepare_modulation(SIGMAS) + text = model.refine(data["conditioning"]) + x = mx.concatenate( + ( + text, + model._linear("video_patch_proj")(data["initial_rows"]).astype(mx.bfloat16), + ), + axis=0, + ) + rope = rope_cache( + image_positions(len(text), 128, 128), model._constant("rope.inv_freq") + ) + ids = mx.concatenate((data["text_tags"], mx.zeros(4096, mx.int32))) + params = tuple(model.modulation["block.0"][0, :, j] for j in range(6)) + block = model._block("blocks.0") + h = modulate(x, block.n1, params[0], params[1], ids, block.config.norm_eps) + x = gated_add(x, block.attn(h, rope, 0), params[2], ids) + h = modulate(x, block.n2, params[3], params[4], ids, block.config.norm_eps) + if block.fc1.bias is not None: + raise ValueError("This probe assumes the actual bias-free FC1") + mx.eval(h) + native = mx.compile(lambda h: swiglu(block.fc1(h))) + ref = native(h) + mx.eval(ref) + report = { + "environment": environment(), + "scope": "Real FC1 activations; fused dual GEMM + native precise sigmoid/BF16 boundaries. Compilation excluded, materialization included.", + "trials": [], + } + for (bm, bn, sg), bk in itertools.product( + ((64, 64, 4), (64, 128, 4), (64, 128, 8), (128, 128, 8)), (128, 256) + ): + row = {"tile": [bm, bn, bk], "simdgroups": sg} + try: + + def fn(bm=bm, bn=bn, bk=bk, sg=sg): + return fused(h, block.fc1.weight, bm, bn, bk, sg) + + row.update(error(ref, fn()), **paired(lambda: native(h), fn, a.repeats)) + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + model.clear() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument( + "--trace", default="outputs/suite/product/native-3.trace.safetensors" + ) + p.add_argument("--repeats", type=int, default=8) + p.add_argument("--output", default="reports/optimization-r3/fc1.json") + main(p.parse_args()) diff --git a/experiments/r3/fusions.py b/experiments/r3/fusions.py new file mode 100644 index 0000000000000000000000000000000000000000..a9a5e6f3f1c941e0caaaf62e705e0b881616953c --- /dev/null +++ b/experiments/r3/fusions.py @@ -0,0 +1,167 @@ +"""Research kernels. No default dispatch until full-output validation.""" + +from functools import lru_cache + +import mlx.core as mx + +from experiments.v2_mpp import gemm + + +class TunedFC2: + def __init__(self, layer): + self.original = layer + self.bias = layer.bias + self.weight = layer.weight + self.zero = mx.zeros(self.weight.shape[0], self.weight.dtype) + + @property + def nbytes(self): + return self.original.nbytes + + def __call__(self, x): + if x.ndim != 2 or x.dtype != mx.bfloat16 or self.weight.shape != (5376, 14336): + return self.original(x) + return gemm( + x, + self.weight, + self.zero if self.bias is None else self.bias, + 64, + 128, + 512, + 4, + 8, + ) + + +@lru_cache(None) +def _qk(): + return mx.fast.metal_kernel( + name="h3_r3_qk_native_reduce", + input_names=["qkv", "qw", "kw", "cosine", "sine", "epsilon"], + output_names=["qout", "kout"], + source=r""" + uint lane = thread_position_in_threadgroup.x; + uint row = threadgroup_position_in_grid.y; + uint heads = qkv_shape[2], dim = qkv_shape[3]; + uint token = row / heads, head = row % heads; + uint qb = token * 3 * heads * dim + head * dim; + uint kb = qb + heads * dim; + uint rot = cosine_shape[1]; + float qsum = 0, ksum = 0; + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = lane * 4 + j; + float q = float(qkv[qb+c]), k = float(qkv[kb+c]); + qsum += q*q; ksum += k*k; + } + float qi = metal::precise::rsqrt(simd_sum(qsum)/float(dim)+epsilon[0]); + float ki = metal::precise::rsqrt(simd_sum(ksum)/float(dim)+epsilon[0]); + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = lane * 4 + j; + T qn = T(float(qw[c])*(float(qkv[qb+c])*qi)); + T kn = T(float(kw[c])*(float(qkv[kb+c])*ki)); + if (c < rot) { + uint partner = (c+rot/2)%rot; + T qother = T(float(qw[partner])*(float(qkv[qb+partner])*qi)); + T kother = T(float(kw[partner])*(float(qkv[kb+partner])*ki)); + if (c < rot/2) { qother = -qother; kother = -kother; } + T qcos = T(qn*cosine[token*rot+c]); + T kcos = T(kn*cosine[token*rot+c]); + T qsin = T(qother*sine[token*rot+c]); + T ksin = T(kother*sine[token*rot+c]); + qn = T(qcos+qsin); kn = T(kcos+ksin); + } + uint offset = HEAD_MAJOR ? (head*qkv_shape[0]+token)*dim+c : row*dim+c; + qout[offset] = qn; kout[offset] = kn; + } + """, + ) + + +def qk_native_reduce(qkv, qw, kw, cos, sin, eps=1e-5, *, head_major=False): + n, _, heads, dim = qkv.shape + if dim != 128: + raise ValueError("Research kernel only supports D128") + shape = (1, heads, n, dim) if head_major else (1, n, heads, dim) + return _qk()( + inputs=[ + qkv, + qw, + kw, + cos.reshape(n, -1), + sin.reshape(n, -1), + mx.array([eps], mx.float32), + ], + template=[("T", qkv.dtype), ("HEAD_MAJOR", head_major)], + grid=(32, n * heads, 1), + threadgroup=(32, 1, 1), + output_shapes=[shape, shape], + output_dtypes=[qkv.dtype, qkv.dtype], + ) + + +@lru_cache(None) +def _norm(): + return mx.fast.metal_kernel( + name="h3_r3_norm_mod_native_reduce", + input_names=["x", "weight", "shift", "scale", "indices", "epsilon"], + output_names=["out"], + source=r""" + uint tid = thread_position_in_threadgroup.x; + uint row = threadgroup_position_in_grid.y; + uint width = x_shape[1]; + float sum = 0; + for (uint r = 0; r < width; r += TG*4) { + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = r + tid*4+j; + if (c < width) { float a = float(x[row*width+c]); sum += a*a; } + } + } + sum = simd_sum(sum); + threadgroup float partial[32]; + uint lane = tid % 32, warp = tid / 32; + if (warp == 0) partial[lane] = 0; + threadgroup_barrier(mem_flags::mem_threadgroup); + if (lane == 0) partial[warp] = sum; + threadgroup_barrier(mem_flags::mem_threadgroup); + threadgroup float inverse; + if (warp == 0) { + float s = simd_sum(partial[lane]); + if (lane == 0) inverse = metal::precise::rsqrt(s/float(width)+epsilon[0]); + } + threadgroup_barrier(mem_flags::mem_threadgroup); + uint index = indices[row]*width; + for (uint r = 0; r < width; r += TG*4) { + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = r+tid*4+j; + if (c < width) { + T affine = T(float(weight[c])*(float(x[row*width+c])*inverse)); + T factor = T(T(1)+scale[index+c]); + T product = T(affine*factor); + out[row*width+c] = T(product+shift[index+c]); + } + } + } + """, + ) + + +def norm_native_reduce(x, weight, shift, scale, indices, eps=1e-5, threads=1024): + return _norm()( + inputs=[ + x, + weight, + shift, + scale, + indices.astype(mx.uint32), + mx.array([eps], mx.float32), + ], + template=[("T", x.dtype), ("TG", threads)], + grid=(threads, x.shape[0], 1), + threadgroup=(threads, 1, 1), + output_shapes=[x.shape], + output_dtypes=[x.dtype], + )[0] diff --git a/experiments/r3/images.py b/experiments/r3/images.py new file mode 100644 index 0000000000000000000000000000000000000000..6f4ff25f31821972c6dc9c411d6b57040365c694 --- /dev/null +++ b/experiments/r3/images.py @@ -0,0 +1,252 @@ +"""Same-process, shared-weight, AB/BA full-image control/candidate validation.""" + +from __future__ import annotations + +import argparse +import copy +import hashlib +import json +import logging +import time +import types +from collections import OrderedDict +from pathlib import Path + +import numpy as np + +from experiments.r3.fusions import TunedFC2, qk_native_reduce +from experiments.r3.trace_audit import payloads +from h3_mlx.compare import image_metrics, make_comparison +from h3_mlx.memory import FootprintMonitor +from h3_mlx.ops import attention +from h3_mlx.runtime import Pipeline + + +def canonical_pixels(image): + return hashlib.sha256(np.asarray(image.convert("RGB")).tobytes()).hexdigest() + + +def fused_attn(self, x, rope, query_chunk, kernel="native", projection_weights=None): + if ( + rope is None + or self.config.attention_head_dim != 128 + or projection_weights is not None + ): + return self._native_attn(x, rope, query_chunk, kernel, projection_weights) + qkv = self.qkv(x).reshape(-1, 3, self.config.num_attention_heads, 128) + q, k = qk_native_reduce(qkv, self.qn, self.kn, *rope, self.config.qk_norm_eps) + return self.out( + attention(q, k, qkv[None, :, 2], query_chunk=query_chunk).reshape( + x.shape[0], -1 + ) + ) + + +def main(a): + logging.basicConfig( + level=logging.INFO, format="%(asctime)s %(message)s", datefmt="%H:%M:%S" + ) + root = Path(a.output) + if root.exists() and any(root.iterdir()): + raise FileExistsError( + f"Use a fresh output directory to preserve prior evidence: {root}" + ) + root.mkdir(parents=True, exist_ok=True) + # Retain the actual source bytes before inference, including research paths. + source_manifest = {} + for source in sorted( + [ + *Path("h3_mlx").glob("*.py"), + *Path("experiments/r3").glob("*.py"), + Path("experiments/v2_mpp.py"), + ] + ): + destination = root / "source" / source + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_bytes(source.read_bytes()) + source_manifest[str(source)] = hashlib.sha256(source.read_bytes()).hexdigest() + (root / "source-manifest.json").write_text( + json.dumps(source_manifest, indent=2) + "\n" + ) + manifest = json.loads(Path(a.workload).read_text()) + (root / "workload.json").write_text(json.dumps(manifest, indent=2) + "\n") + cases = {c["id"]: c for c in manifest["cases"]} + config = { + k: v + for k, v in manifest["control_config"].items() + if k not in ("rng", "six_original_steps") + } + pipeline = Pipeline(a.model, a.text_encoder, **config) + states = {} + rows = [] + quality = {} + + def run(case, variant, repeat, phase): + dest = root / case["id"] / f"{variant}-{phase}-{repeat}.png" + tick = time.perf_counter() + with FootprintMonitor() as physical: + image, record = pipeline.generate( + case["prompt"], + width=case["width"], + height=case["height"], + seed=case["seed"], + images=case.get("images", ()), + output=dest, + save_trace=True, + ) + record.update( + physical_memory=physical.result(), + outer_seconds=time.perf_counter() - tick, + variant=variant, + repeat=repeat, + phase=phase, + case=case["id"], + canonical_pixel_sha256=canonical_pixels(image), + ) + dest.with_suffix(".json").write_text(json.dumps(record, indent=2) + "\n") + summary = { + "case": case["id"], + "variant": variant, + "repeat": repeat, + "phase": phase, + "seconds": record["timings"]["total_s"], + "peak_memory_bytes": record["physical_memory"][ + "sampled_peak_physical_bytes" + ], + "mlx_peak_bytes": round(record["memory"]["peak_gb"] * 1024**3), + "output_sha256": record["canonical_pixel_sha256"], + "output": str(dest), + "nonfinite_values": len(record["nonfinite_steps"]), + "step_seconds": [record["timings"][f"step_{i}_s"] for i in range(6)], + } + rows.append(summary) + with (root / "runs.jsonl").open("a") as handle: + handle.write(json.dumps(summary) + "\n") + print(json.dumps(summary), flush=True) + return image, dest + + def select(variant): + model = pipeline.model + if "control" not in states: + states["control"] = (model.blocks, model.compiled_blocks) + if variant not in states: + blocks = OrderedDict() + for key, original in states["control"][0].items(): + block = copy.copy(original) + if "fc2" in variant: + if a.deployment: + from h3_mlx.tuning import TunedFC2 as DeployedFC2 + + block.fc2 = DeployedFC2(block.fc2) + else: + block.fc2 = TunedFC2(block.fc2) + if "qk" in variant and not a.deployment: + block._native_attn = block.attn + block.attn = types.MethodType(fused_attn, block) + blocks[key] = block + states[variant] = (blocks, {}) + model.blocks, model.compiled_blocks = states[variant] + if a.deployment: + model.kernel = ( + ("metal-qk-exact" if "native-norm" in variant else "metal-exact") + if "qk" in variant + else "native" + ) + model.tune_matmul = "fc2" in variant + pipeline.dit_options.update( + kernel=model.kernel, tune_matmul=model.tune_matmul + ) + + try: + # The first full image populates weights and native GPU/conditioning caches. + first = cases[a.cases[0]] + control_image, control_path = run(first, "control", -1, "cold") + for variant in a.variants: + select(variant) + candidate_image, candidate_path = run(first, variant, -1, "warmup") + metrics = image_metrics(control_image, candidate_image) + quality[f"{first['id']}/{variant}"] = metrics + make_comparison( + control_path, + [candidate_path], + Path(a.comparisons) / first["id"] / variant, + labels=["Current BF16 control", variant], + ) + Path(root / "quality.json").write_text(json.dumps(quality, indent=2) + "\n") + trace_equal = payloads( + control_path.with_suffix(".trace.safetensors") + ) == payloads(candidate_path.with_suffix(".trace.safetensors")) + if a.stop_on_difference and ( + not metrics["pixel_identical"] or not trace_equal + ): + print( + f"QUALITY STOP: {variant} changes pixels; comparison retained", + flush=True, + ) + return + for case_id in a.cases: + case = cases[case_id] + if case_id != first["id"] and case_id in manifest["timing_cases"]: + for variant in ("control", *a.variants): + select(variant) + run(case, variant, -1, "warmup") + repeats = a.repeats if case_id in manifest["timing_cases"] else 1 + anchors = {} + for repeat in range(repeats): + order = ["control", *a.variants] + if repeat % 2: + order.reverse() + for variant in order: + select(variant) + image, path = run( + case, + variant, + repeat, + "timed" + if case_id in manifest["timing_cases"] + else "validation", + ) + anchors[variant] = (image, path) + ref_image, ref_path = anchors["control"] + for variant in a.variants: + metrics = image_metrics(ref_image, anchors[variant][0]) + quality[f"{case_id}/{variant}/{repeat}"] = metrics + if repeat == 0: + make_comparison( + ref_path, + [anchors[variant][1]], + Path(a.comparisons) / case_id / variant, + labels=["Current BF16 control", variant], + ) + Path(root / "quality.json").write_text( + json.dumps(quality, indent=2) + "\n" + ) + finally: + states.clear() + pipeline.clear() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--text-encoder", required=True) + p.add_argument( + "--variants", + nargs="+", + choices=["qk", "fc2", "qk-fc2", "qk-fc2-native-norm"], + default=["qk-fc2"], + ) + p.add_argument( + "--cases", nargs="+", default=["product", "portrait", "holdout-detail", "edit"] + ) + p.add_argument("--repeats", type=int, default=3) + p.add_argument("--workload", default="optimization/round-03/workload.json") + p.add_argument("--stop-on-difference", action="store_true") + p.add_argument( + "--deployment", + action="store_true", + help="Use production dispatch and API implementation", + ) + p.add_argument("--output", default="outputs/optimization-r3") + p.add_argument("--comparisons", default="comparisons/optimization-r3") + main(p.parse_args()) diff --git a/experiments/r3/norm.py b/experiments/r3/norm.py new file mode 100644 index 0000000000000000000000000000000000000000..3ef6d33f4ddc14d1e8d2c548fb3e83fb78306e83 --- /dev/null +++ b/experiments/r3/norm.py @@ -0,0 +1,120 @@ +"""Test native reduction matching for full-width RMSNorm + AdaLN fusion.""" + +import argparse +import copy +import json +import types +from pathlib import Path + +import mlx.core as mx + +from experiments.r3.common import paired +from experiments.r3.fusions import norm_native_reduce +from h3_mlx.benchmark import error +from h3_mlx.config import SIGMAS +from h3_mlx.dit import DiT +from h3_mlx.layout import image_positions, rope_cache +from h3_mlx.ops import gated_add, modulate +from h3_mlx.runtime import configure_memory, environment + + +def main(a): + configure_memory(wired_gb=14) + data = mx.load(a.trace) + model = DiT(a.model, kernel="metal-exact", tune_matmul=True) + model.prepare_modulation(SIGMAS) + text = model.refine(data["conditioning"]) + x = mx.concatenate( + ( + text, + model._linear("video_patch_proj")(data["initial_rows"]).astype(mx.bfloat16), + ), + axis=0, + ) + rope = rope_cache( + image_positions(len(text), 128, 128), model._constant("rope.inv_freq") + ) + indices = mx.concatenate((data["text_tags"], mx.zeros(4096, mx.int32))) + params = tuple(model.modulation["block.0"][0, :, j] for j in range(6)) + block = model._block("blocks.0") + report = {"environment": environment(), "trials": []} + ref = modulate(x, block.n1, params[0], params[1], indices, block.config.norm_eps) + mx.eval(ref) + for threads in (256, 512, 1024): + + def fn(threads=threads): + return norm_native_reduce( + x, + block.n1, + params[0], + params[1], + indices, + block.config.norm_eps, + threads, + ) + + def native(): + return modulate( + x, block.n1, params[0], params[1], indices, block.config.norm_eps + ) + + row = { + "group": "norm", + "threads": threads, + **error(ref, fn()), + **paired(native, fn, a.repeats), + } + report["trials"].append(row) + print(json.dumps(row), flush=True) + native = mx.compile( + lambda x, params, indices, rope: block( + x, + params=params, + indices=indices, + rope=rope, + mlp_chunk=0, + kernel="metal-exact", + ) + ) + reference = native(x, params, indices, rope) + mx.eval(reference) + + def forward(self, xx, *, params, indices, rope, **kwargs): + sa, ca, ga, sm, cm, gm = params + h = norm_native_reduce(xx, self.n1, sa, ca, indices, self.config.norm_eps) + xx = gated_add(xx, self.attn(h, rope, 0, "metal-exact"), ga, indices) + h = norm_native_reduce(xx, self.n2, sm, cm, indices, self.config.norm_eps) + return gated_add(xx, self.mlp(h, 0), gm, indices) + + # __call__ is looked up on the class, so use an explicit bound method. + fused = copy.copy(block) + fused.forward = types.MethodType(forward, fused) + candidate = mx.compile( + lambda x, params, indices, rope: fused.forward( + x, params=params, indices=indices, rope=rope + ) + ) + row = { + "group": "block", + **error(reference, candidate(x, params, indices, rope)), + **paired( + lambda: native(x, params, indices, rope), + lambda: candidate(x, params, indices, rope), + a.repeats, + ), + } + report["trials"].append(row) + print(json.dumps(row), flush=True) + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + model.clear() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument( + "--trace", default="outputs/suite/product/native-3.trace.safetensors" + ) + p.add_argument("--repeats", type=int, default=10) + p.add_argument("--output", default="reports/optimization-r3/norm.json") + main(p.parse_args()) diff --git a/experiments/r3/panel.py b/experiments/r3/panel.py new file mode 100644 index 0000000000000000000000000000000000000000..aeba0c41d54cabe99009155874e6496569b0d9ca --- /dev/null +++ b/experiments/r3/panel.py @@ -0,0 +1,87 @@ +"""Does a larger K panel improve the complete final fused block?""" + +import argparse +import copy +import json +from pathlib import Path + +import mlx.core as mx + +from experiments.r3.common import paired +from h3_mlx.benchmark import error +from h3_mlx.config import SIGMAS +from h3_mlx.dit import DiT +from h3_mlx.layout import image_positions, rope_cache +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.tuning import TunedFC2, _gemm + + +class Panel2048(TunedFC2): + def __call__(self, x): + return _gemm( + x, + self.weight, + self.zero if self.bias is None else self.bias, + 64, + 128, + 2048, + 4, + 8, + ) + + +def main(a): + configure_memory(wired_gb=14) + data = mx.load("outputs/suite/product/native-3.trace.safetensors") + model = DiT(a.model, kernel="metal-exact", tune_matmul=True) + model.prepare_modulation(SIGMAS) + text = model.refine(data["conditioning"]) + x = mx.concatenate( + ( + text, + model._linear("video_patch_proj")(data["initial_rows"]).astype(mx.bfloat16), + ), + axis=0, + ) + rope = rope_cache( + image_positions(len(text), 128, 128), model._constant("rope.inv_freq") + ) + ids = mx.concatenate((data["text_tags"], mx.zeros(4096, mx.int32))) + params = tuple(model.modulation["block.0"][0, :, j] for j in range(6)) + block = model._block("blocks.0") + candidate = copy.copy(block) + candidate.fc2 = Panel2048(block.fc2.original) + native = mx.compile( + lambda x, p, i, r: block( + x, params=p, indices=i, rope=r, kernel="metal-exact", mlp_chunk=0 + ) + ) + tuned = mx.compile( + lambda x, p, i, r: candidate( + x, params=p, indices=i, rope=r, kernel="metal-exact", mlp_chunk=0 + ) + ) + ref = native(x, params, ids, rope) + mx.eval(ref) + report = { + "environment": environment(), + "control": "All exact fusions + BK512 FC2", + "candidate": "Same with BK2048 FC2", + **error(ref, tuned(x, params, ids, rope)), + **paired( + lambda: native(x, params, ids, rope), + lambda: tuned(x, params, ids, rope), + a.repeats, + ), + } + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(report), flush=True) + model.clear() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--repeats", type=int, default=20) + p.add_argument("--output", default="reports/optimization-r3/panel.json") + main(p.parse_args()) diff --git a/experiments/r3/report.py b/experiments/r3/report.py new file mode 100644 index 0000000000000000000000000000000000000000..91109e119789110740034f7f15244ce99276a508 --- /dev/null +++ b/experiments/r3/report.py @@ -0,0 +1,231 @@ +"""Reopen delivered pixels/traces and build skill receipts from actual runs.""" + +import argparse +import hashlib +import json +import statistics +from pathlib import Path + +import numpy as np +from PIL import Image + +from experiments.r3.trace_audit import payloads +from h3_mlx.compare import _verify_identity, image_metrics + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def canonical(value): + return hashlib.sha256( + json.dumps( + value, sort_keys=True, separators=(",", ":"), ensure_ascii=False + ).encode() + ).hexdigest() + + +def main(a): + root = Path(a.root) + destination = Path(a.output) + destination.mkdir(parents=True, exist_ok=True) + contract = json.loads(Path(a.contract).read_text()) + manifest = json.loads(Path(a.workload).read_text()) + rows = [json.loads(line) for line in (root / "runs.jsonl").read_text().splitlines()] + checks = [] + anchors = {} + for case in contract["quality_cases"]: + baseline = next( + r for r in rows if r["case"] == case and r["variant"] == "control" + ) + anchors[case] = baseline + trace_anchors = { + case: payloads(Path(row["output"]).with_suffix(".trace.safetensors")) + for case, row in anchors.items() + } + for row in rows: + path = Path(row["output"]) + image = Image.open(path).convert("RGB") + actual = hashlib.sha256(np.asarray(image).tobytes()).hexdigest() + if actual != row["output_sha256"]: + raise ValueError(f"Output changed: {path}") + reference = Path(anchors[row["case"]]["output"]) + _verify_identity(reference, path) + metrics = image_metrics(Image.open(reference), image) + trace = payloads(path.with_suffix(".trace.safetensors")) + checks.append( + { + "output": str(path), + "case": row["case"], + "variant": row["variant"], + "phase": row["phase"], + "metrics": metrics, + "trace_identical": trace == trace_anchors[row["case"]], + "different_trace_tensors": [ + k + for k in trace + if trace.get(k) != trace_anchors[row["case"]].get(k) + ], + } + ) + (destination / "quality-audit.json").write_text(json.dumps(checks, indent=2) + "\n") + timed = [r for r in rows if r["phase"] == "timed"] + summary = { + "root": str(root), + "cases": {}, + "all_pixel_identical": all(c["metrics"]["pixel_identical"] for c in checks), + "all_trace_identical": all(c["trace_identical"] for c in checks), + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident.", + } + for case in contract["timing_cases"]: + summary["cases"][case] = {} + for variant in ("control", a.variant): + rr = [r for r in timed if r["case"] == case and r["variant"] == variant] + values = [r["seconds"] for r in rr] + summary["cases"][case][variant] = { + "samples_s": values, + "median_s": statistics.median(values), + "min_s": min(values), + "max_s": max(values), + "peak_physical_bytes": max(r["peak_memory_bytes"] for r in rr), + "peak_mlx_bytes": max(r["mlx_peak_bytes"] for r in rr), + } + control = summary["cases"][case]["control"] + candidate = summary["cases"][case][a.variant] + summary["cases"][case]["reduction_pct"] = 100 * ( + 1 - candidate["median_s"] / control["median_s"] + ) + (destination / "summary.json").write_text(json.dumps(summary, indent=2) + "\n") + if a.no_receipts: + print(json.dumps(summary, indent=2)) + return + context = { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population.", + } + code_hash = sha(root / "source-manifest.json") + for variant in ("control", a.variant): + cfg = dict(manifest["control_config"]) + if variant != "control": + cfg.update( + kernel="metal-qk-exact" if "native-norm" in variant else "metal-exact", + tune_matmul=True, + ) + description = { + "id": variant, + "code_sha256": code_hash, + "model_sha256": sha("provenance/sources.json"), + "config_sha256": canonical(cfg), + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + a.variant, + "--workload", + a.workload, + "--model", + str(Path("../minimax-h3-image-opt/models/MiniMax-H3-Image").resolve()), + "--text-encoder", + str( + Path( + "../minimax-h3-image-opt/models/MiniMax-H3/text_encoder" + ).resolve() + ), + "--output", + str(root), + ], + } + output_hashes = {} + for case in contract["quality_cases"]: + values = { + r["output_sha256"] + for r in rows + if r["case"] == case and r["variant"] == variant + } + if len(values) != 1: + raise ValueError( + f"Missing or nondeterministic {case}/{variant}: {values}" + ) + output_hashes[case] = values.pop() + relevant = [c for c in checks if c["variant"] == variant] + receipt = { + "schema_version": 1, + "id": f"r3-deployment-{variant}", + "campaign_id": contract["campaign_id"], + "contract_sha256": canonical(contract), + "complete": True, + "change_class": "control" if variant == "control" else "exact", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": context, + "variant": description, + "quality": { + "variant_sha256": canonical(description), + "reference_sha256": contract["reference_sha256"], + "evaluator_sha256": contract["evaluator_sha256"], + "outputs": output_hashes, + "metrics": { + "max_abs_error": max( + c["metrics"]["max_error_8bit"] for c in relevant + ), + "nonfinite_values": sum( + r["nonfinite_values"] for r in rows if r["variant"] == variant + ), + }, + }, + "runs": [ + { + k: r[k] + for k in ( + "case", + "repeat", + "seconds", + "peak_memory_bytes", + "output_sha256", + ) + } + for r in timed + if r["variant"] == variant + ], + "evidence": [ + {"path": str(path), "sha256": sha(path)} + for path in ( + root / "runs.jsonl", + root / "source-manifest.json", + destination / "quality-audit.json", + destination / "summary.json", + ) + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": all(c["trace_identical"] for c in relevant), + }, + } + (destination / f"{variant}.receipt.json").write_text( + json.dumps(receipt, indent=2) + "\n" + ) + print(json.dumps(summary, indent=2)) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--root", default="outputs/optimization-r3-deployment") + p.add_argument("--variant", default="qk-fc2") + p.add_argument("--contract", default="optimization/round-03/contract.json") + p.add_argument("--workload", default="optimization/round-03/workload.json") + p.add_argument( + "--no-receipts", + action="store_true", + help="Audit research outputs without assigning release source identity", + ) + p.add_argument("--output", default="reports/optimization-r3/deployment") + main(p.parse_args()) diff --git a/experiments/r3/screen.py b/experiments/r3/screen.py new file mode 100644 index 0000000000000000000000000000000000000000..be6bb72552fe4aaa6a6d99a42afd83c1e620e02c --- /dev/null +++ b/experiments/r3/screen.py @@ -0,0 +1,274 @@ +"""Real first-block inputs: attention layout, Metal 4 FC2 tiling, lossless decode.""" + +from __future__ import annotations + +import argparse +import gc +import itertools +import json +from functools import lru_cache +from pathlib import Path + +import mlx.core as mx + +from experiments.r3.common import paired +from experiments.v2_mpp import gemm +from h3_mlx.benchmark import error +from h3_mlx.config import SIGMAS +from h3_mlx.dit import DiT +from h3_mlx.layout import image_positions, rope_cache +from h3_mlx.memory import FootprintMonitor +from h3_mlx.ops import rms_norm, rotate +from h3_mlx.packed import PackedBF16 +from h3_mlx.runtime import configure_memory, environment + + +@lru_cache(None) +def decoder(lanes): + return mx.fast.metal_kernel( + name=f"h3_unpack_bf16_palette12_vec{lanes}", + input_names=["low", "nibbles", "escape_indices", "escape_values", "base"], + output_names=["out"], + source=r""" + uint first = thread_position_in_grid.x * LANES; + #pragma unroll + for (uint lane = 0; lane < LANES; ++lane) { + uint i = first + lane; + if (i >= low_shape[0]) break; + uint code = (nibbles[i / 2] >> ((i % 2) * 4)) & 15; + uint count = escape_indices_shape[0]; + if (code == 0 && count != 0) { + uint left = 0, right = count; + while (left < right) { + uint mid = (left + right) / 2; + if (escape_indices[mid] < i) left = mid + 1; + else right = mid; + } + out[i] = escape_values[left]; + } else { + out[i] = ushort(low[i]) | ushort(((code & 7) + base[0]) << 8) + | ushort((code & 8) << 12); + } + } + """, + ) + + +def unpack(packed, lanes, threads): + raw = decoder(lanes)( + inputs=packed.state(), + template=[("LANES", lanes)], + grid=((packed.low.size + lanes - 1) // lanes, 1, 1), + threadgroup=(threads, 1, 1), + output_shapes=[(packed.low.size,)], + output_dtypes=[mx.uint16], + )[0] + return raw.view(mx.bfloat16).reshape(packed.shape) + + +class Capture: + def __init__(self, linear): + self.linear = linear + + def __call__(self, x): + self.input = x + mx.eval(x) + return self.linear(x) + + +def main(a): + configure_memory(wired_gb=14) + dest = Path(a.output) + dest.parent.mkdir(parents=True, exist_ok=True) + report = { + "environment": environment(), + "scope": "Actual saved first-block activations, one GPU job, counterbalanced warmed calls including layout/decode costs. Operator evidence only.", + "trials": [], + } + + def record(row): + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + + with FootprintMonitor() as memory: + data = mx.load(a.trace) + model = DiT(a.model) + model.prepare_modulation(SIGMAS) + text = model.refine(data["conditioning"]) + x = mx.concatenate( + ( + text, + model._linear("video_patch_proj")(data["initial_rows"]).astype( + mx.bfloat16 + ), + ), + axis=0, + ) + rope = rope_cache( + image_positions(len(text), 128, 128), model._constant("rope.inv_freq") + ) + indices = mx.concatenate((data["text_tags"], mx.zeros(4096, mx.int32))) + params = tuple(model.modulation["block.0"][0, :, j] for j in range(6)) + block = model._block("blocks.0") + captures = {} + for name in ("qkv", "out", "fc1", "fc2"): + capture = Capture(getattr(block, name)) + captures[name] = capture + setattr(block, name, capture) + y = block(x, params=params, indices=indices, rope=rope, mlp_chunk=0) + mx.eval(y) + report["activation_ranges"] = { + name: { + "shape": list(v.input.shape), + "max_abs": mx.max(mx.abs(v.input.astype(mx.float32))).item(), + } + for name, v in captures.items() + } + if "attention" in a.groups: + qkv = ( + captures["qkv"] + .linear(captures["qkv"].input) + .reshape(1, x.shape[0], 3, 56, 128) + ) + q, k = ( + rotate( + rms_norm(qkv[:, :, j], weight, block.config.qk_norm_eps), *rope + ).transpose(0, 2, 1, 3) + for j, weight in ((0, block.qn), (1, block.kn)) + ) + v = qkv[:, :, 2].transpose(0, 2, 1, 3) + mx.eval(q, k, v) + + def attention(layout="strided"): + args = [ + mx.contiguous(t) if axis in layout else t + for axis, t in zip("qkv", (q, k, v), strict=True) + ] + return mx.fast.scaled_dot_product_attention(*args, scale=128**-0.5) + + ref = attention() + mx.eval(ref) + for layout in ("q", "k", "v", "kv", "qk", "qkv"): + + def fn(layout=layout): + return attention(layout) + + record( + { + "group": "attention", + "variant": layout, + **paired(attention, fn, a.repeats), + **error(ref, fn()), + } + ) + del qkv, q, k, v, ref + if "mpp" in a.groups: + count = 0 + for name in ("fc2", "fc1"): + cap = captures[name] + layer, xx = cap.linear, cap.input + w = layer.weight + b = ( + layer.bias + if layer.bias is not None + else mx.zeros(w.shape[0], w.dtype) + ) + ref = layer(xx) + mx.eval(ref) + tiles = itertools.product( + ( + (64, 128, 4), + (64, 128, 8), + (128, 128, 4), + (128, 128, 8), + (128, 256, 8), + (64, 256, 8), + ), + (128, 256, 512), + (0, 8), + ) + for (bm, bn, sg), bk, walk in tiles: + if w.shape[1] % bk or w.shape[0] % bn: + continue + count += 1 + row = { + "group": "mpp", + "operator": name, + "tile": [bm, bn, bk], + "simdgroups": sg, + "walk": walk, + } + try: + + def fn(bm=bm, bn=bn, bk=bk, sg=sg, walk=walk, xx=xx, w=w, b=b): + return gemm(xx, w, b, bm, bn, bk, sg, walk) + + row.update( + paired(lambda layer=layer, xx=xx: layer(xx), fn, a.repeats), + **error(ref, fn()), + ) + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + record(row) + if count >= a.max_tiles: + break + if count >= a.max_tiles: + break + if "unpack" in a.groups: + for name in ("qkv", "fc2"): + cap = captures[name] + layer, xx = cap.linear, cap.input + packed = PackedBF16.pack(layer.weight) + ref = packed.unpack() + mx.eval(ref) + for lanes, threads in itertools.product((2, 4, 8), (128, 256)): + + def fn(lanes=lanes, threads=threads, packed=packed): + return unpack(packed, lanes, threads) + + candidate = fn() + mx.eval(candidate) + bit_equal = mx.array_equal( + ref.view(mx.uint16), candidate.view(mx.uint16) + ).item() + row = { + "group": "unpack", + "operator": name, + "lanes": lanes, + "threads": threads, + "bit_equal": bit_equal, + "decode": paired(packed.unpack, fn, a.repeats), + } + + def project(w, xx=xx, layer=layer): + return ( + xx @ w.T + if layer.bias is None + else mx.addmm(layer.bias, xx, w.T) + ) + + row["with_gemm"] = paired( + lambda project=project, packed=packed: project(packed.unpack()), + lambda project=project, fn=fn: project(fn()), + a.repeats, + ) + record(row) + del packed, ref + model.clear() + gc.collect() + report["memory"] = memory.result() + dest.write_text(json.dumps(report, indent=2) + "\n") + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument( + "--trace", default="outputs/suite/product/native-3.trace.safetensors" + ) + p.add_argument("--groups", nargs="+", default=["attention", "mpp", "unpack"]) + p.add_argument("--max-tiles", type=int, default=72) + p.add_argument("--repeats", type=int, default=6) + p.add_argument("--output", default="reports/optimization-r3/screen.json") + main(p.parse_args()) diff --git a/experiments/r3/shapes.py b/experiments/r3/shapes.py new file mode 100644 index 0000000000000000000000000000000000000000..470e4ff36423f28cfd090f9f482dd776e2fcbedd --- /dev/null +++ b/experiments/r3/shapes.py @@ -0,0 +1,134 @@ +"""Real first-block FC2 activations across text, editing and 4K shapes.""" + +import argparse +import json +from pathlib import Path + +import mlx.core as mx + +from experiments.r3.common import paired +from experiments.r3.fusions import TunedFC2 +from experiments.r3.screen import Capture +from h3_mlx.benchmark import error +from h3_mlx.config import SIGMAS +from h3_mlx.dit import DiT +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.tuning import _gemm + + +class Captured(Exception): + pass + + +def stop(*_): + raise Captured + + +def main(a): + configure_memory(wired_gb=18) + model = DiT(a.model) + report = { + "environment": environment(), + "scope": "Real first-head block inputs, including original reference positions and modality/time selection for editing. Only operator timing; no 4K image latency claim.", + "trials": [], + } + cases = [ + ("product", "outputs/suite/product/native-3.trace.safetensors"), + ("edit", "outputs/suite/edit/native-0.trace.safetensors"), + ("native-4k", "outputs/suite/native-4k/native-0.trace.safetensors"), + ] + for name, path in cases: + if name not in a.cases: + continue + data = mx.load(path) + model.prepare_modulation(SIGMAS, edit=name == "edit") + text = model.refine(data["conditioning"]) + h, w = data["latent"].shape[-2:] + references = ((64, 64),) if name == "edit" else () + block = model._block("blocks.0") + original = block.fc2 + cap = Capture(original) + block.fc2 = cap + try: + model.predict( + data["initial_rows"], + text, + 0, + h, + w, + references=references, + text_tags=data["text_tags"], + on_layer=stop, + ) + except Captured: + pass + finally: + block.fc2 = original + x = cap.input + tuned = TunedFC2(original) + ref = original(x) + mx.eval(ref) + row = { + "case": name, + "shape": list(x.shape), + "max_input_abs": mx.max(mx.abs(x.astype(mx.float32))).item(), + **error(ref, tuned(x)), + **paired( + lambda original=original, x=x: original(x), + lambda tuned=tuned, x=x: tuned(x), + a.repeats, + ), + } + report["trials"].append(row) + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + if name == "product" and a.bk_sweep: + bias = ( + original.bias + if original.bias is not None + else mx.zeros(5376, mx.bfloat16) + ) + for bk, sg in ((1024, 4), (1024, 8), (2048, 4), (2048, 8)): + row = {"case": name, "group": "extra-bk", "bk": bk, "simdgroups": sg} + try: + + def fn(bk=bk, sg=sg, x=x, original=original, bias=bias): + return _gemm(x, original.weight, bias, 64, 128, bk, sg, 8) + + row.update( + error(ref, fn()), + **paired(lambda tuned=tuned, x=x: tuned(x), fn, a.repeats), + ) + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + if name == "edit" and a.boundary: + boundary = mx.concatenate((x, x[: 8192 - x.shape[0]])) + mx.eval(boundary) + row = { + "case": "boundary-8192-repeated-edit", + "shape": list(boundary.shape), + **error(original(boundary), tuned(boundary)), + **paired( + lambda original=original, boundary=boundary: original(boundary), + lambda tuned=tuned, boundary=boundary: tuned(boundary), + a.repeats, + ), + } + report["trials"].append(row) + Path(a.output).write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + model.clear() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--repeats", type=int, default=8) + p.add_argument("--cases", nargs="+", default=["product", "edit", "native-4k"]) + p.add_argument("--bk-sweep", action="store_true") + p.add_argument("--boundary", action="store_true") + p.add_argument("--output", default="reports/optimization-r3/shapes.json") + main(p.parse_args()) diff --git a/experiments/r3/trace_audit.py b/experiments/r3/trace_audit.py new file mode 100644 index 0000000000000000000000000000000000000000..fda95bd068c9db9c49231e3b688840dc9f17e635 --- /dev/null +++ b/experiments/r3/trace_audit.py @@ -0,0 +1,71 @@ +"""CPU-only hashes of safetensors payloads, independent of MLX graph execution.""" + +import argparse +import hashlib +import json +import struct +from pathlib import Path + + +def payloads(path): + result = {} + with Path(path).open("rb") as handle: + length = struct.unpack(" + #include + using namespace mpp::tensor_ops; + """, + source=r""" + const int N = q_shape[0], H = q_shape[1], D = 128; + int sg = thread_position_in_threadgroup.x / 32; + int row = (threadgroup_position_in_grid.x * SG + sg) * BQ; + int head = threadgroup_position_in_grid.y; + // SIMD groups own independent query tiles; the last group may be empty. + auto Q = tensor(const_cast(q) + head*q_strides[1], dextents(D,N), array{1,int(q_strides[0])}); + auto K = tensor(const_cast(k) + head*k_strides[1], dextents(D,N), array{1,int(k_strides[0])}); + auto V = tensor(const_cast(v) + head*v_strides[1], dextents(D,N), array{1,int(v_strides[0])}); + auto O = tensor(out + head*D, dextents(D,N), array{1,H*D}); + if (row >= N) return; + constexpr auto qkdesc = matmul2d_descriptor(BQ,BK,128,false,true,false); + constexpr auto pvdesc = matmul2d_descriptor(BQ,128,BK,false,false,false,matmul2d_descriptor::mode::multiply_accumulate); + matmul2d qkop; + matmul2d pvop; + auto qtile = Q.template slice<128,dynamic_extent>(0,row); + auto ktile = K.template slice<128,dynamic_extent>(0,0); + auto vt = V.template slice<128,dynamic_extent>(0,0); + auto vtile = V.template slice<128,dynamic_extent>(0,0); + auto qs = qkop.template get_left_input_cooperative_tensor(); + qs.load(qtile); + auto scores = qkop.template get_destination_cooperative_tensor(); + auto maximum = qkop.template get_row_reduction_destination_cooperative_tensor(); + auto denom = maximum; + auto tile_max = maximum; + auto tile_sum = maximum; + auto alpha = maximum; + auto prob = pvop.template get_left_input_cooperative_tensor(); + auto p_shape = tensor(const_cast(q), extents(), array{1,BK}); + auto accum = pvop.template get_destination_cooperative_tensor(); + #pragma unroll + for (int i=0;i(), array{1,BK}); + for (int start=0;start(0,start); + qkop.run(qs,kk,scores); + #pragma unroll + for (auto it=scores.begin();it!=scores.end();++it) { + auto coord = scores.get_multidimensional_index(it); + *it = start+coord[0](0,start); + pvop.run(prob,vv,accum); + } + #pragma unroll + for (auto it=accum.begin();it!=accum.end();++it) *it /= *denom.map_iterator(it); + #pragma unroll + for (auto it=accum.begin();it!=accum.end();++it) { + if (accum.is_valid_element(it)) { + auto coord=accum.get_multidimensional_index(it); + if (row+coord[1]> 16) & 1)) & np.uint32(0xFFFF0000)).view( + np.float32 + ) + reference = (torch.from_numpy(x) @ torch.from_numpy(w).T).numpy() + if conv: + shape = (1, w.shape[1], 1, tokens) + input_array = x.T[None, :, None, :] + else: + shape = x.shape + input_array = x + for precision in ("fp16", "fp32"): + package = root / f"{name}-{precision}.mlpackage" + dtype = types.fp16 if precision == "fp16" else types.fp32 + if not package.exists(): + program = projection_program( + shape, + dtype, + w.astype(np.float16 if precision == "fp16" else np.float32), + conv, + ) + + model = ct.convert( + program, + convert_to="mlprogram", + compute_precision=ct.precision.FLOAT16 + if precision == "fp16" + else ct.precision.FLOAT32, + minimum_deployment_target=ct.target.macOS15, + skip_model_load=True, + ) + model.save(str(package)) + del model, program + gc.collect() + for unit in ( + ct.ComputeUnit.CPU_ONLY, + ct.ComputeUnit.CPU_AND_GPU, + ct.ComputeUnit.CPU_AND_NE, + ct.ComputeUnit.ALL, + ): + row = { + "case": name, + "precision": precision, + "compute_units": unit.name, + "shape": list(shape), + "weight_shape": list(w.shape), + "package_bytes": sum( + p.stat().st_size for p in package.rglob("*") if p.is_file() + ), + } + try: + tick = time.perf_counter() + model = ct.models.MLModel( + str(package), + compute_units=unit, + optimization_hints={ + "specializationStrategy": ct.SpecializationStrategy.FastPrediction + }, + ) + row["load_compile_s"] = time.perf_counter() - tick + plan = ct.models.compute_plan.MLComputePlan.load_from_path( + model.get_compiled_model_path(), compute_units=unit + ) + row["placement"] = devices(plan) + data = { + "x": input_array.astype( + np.float16 if precision == "fp16" else np.float32 + ) + } + tick = time.perf_counter() + result = model.predict(data) + row["first_predict_ms"] = 1000 * (time.perf_counter() - tick) + samples = [] + for _ in range(a.repeats): + tick = time.perf_counter() + result = model.predict(data) + samples.append(1000 * (time.perf_counter() - tick)) + y = next(iter(result.values())).astype(np.float32) + if conv: + y = y[0, :, 0, :].T + row.update( + samples_ms=samples, + median_ms=statistics.median(samples), + relative_rmse=float( + np.sqrt( + np.mean((reference - y) ** 2) / np.mean(reference**2) + ) + ), + max_abs=float(np.max(np.abs(reference - y))), + ) + del result, model, plan, data + gc.collect() + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + del w, x, reference + gc.collect() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--vae") + p.add_argument("--cases", nargs="+") + p.add_argument("--repeats", type=int, default=5) + p.add_argument("--packages", default="cache/coreml-v2") + p.add_argument("--output", default="reports/optimization-v2/coreml.json") + main(p.parse_args()) diff --git a/experiments/v2_coreml_image.py b/experiments/v2_coreml_image.py new file mode 100644 index 0000000000000000000000000000000000000000..8ee0b9295ca4e49eb38d9aef3d7942ad9642a441 --- /dev/null +++ b/experiments/v2_coreml_image.py @@ -0,0 +1,108 @@ +"""One actual image for a Core ML device/batch, with NumPy bridge diagnostics.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import time +from pathlib import Path + +import mlx.core as mx +import numpy as np +from PIL import Image + +from h3_mlx.compare import image_metrics, make_comparison +from h3_mlx.coreml_vae import CoreMLVAE +from h3_mlx.runtime import configure_memory +from h3_mlx.vae import to_image + + +def main(a): + configure_memory(wired_gb=5) + data = mx.load(a.trace) + latent = data["latent"] + mx.eval(latent) + del data + tick = time.perf_counter() + model = CoreMLVAE( + a.vae, package=a.package, tile_batch=a.batch, compute_units=a.units + ) + load_s = time.perf_counter() - tick + sample = ( + np.random.default_rng(731).normal(size=(a.batch, 24, 16, 16)).astype(np.float16) + ) + raw = model.model.predict({"raw": sample})["pixels"] + audit = { + "output_shape": list(raw.shape), + "output_strides": list(raw.strides), + "output_c_contiguous": bool(raw.flags.c_contiguous), + "original_mlx_numpy_import_exact": bool( + np.array_equal(np.asarray(mx.array(raw)), raw, equal_nan=True) + ), + } + source = json.loads(Path(a.reference).with_suffix(".json").read_text()) + tick = time.perf_counter() + pixels = model.decode(latent) + mx.eval(pixels) + seconds = time.perf_counter() - tick + image = to_image(pixels, *source["size"]) + root = Path(a.output) + root.mkdir(parents=True, exist_ok=True) + path = root / "image.png" + image.save(path) + record = { + k: source[k] + for k in ( + "prompt", + "seed", + "size", + "canvas", + "rng", + "reference_images", + "reference_sha256", + "sigmas", + "steps", + ) + if k in source + } + record.update( + validation_scope="Same final latent; decoder only", + timing_scope="One complete decoder pass; model loading excluded", + timings={"decode_s": seconds}, + load_s=load_s, + vae_backend="coreml", + vae={"batch": a.batch, "compute_units": a.units}, + source_trace=a.trace, + source_trace_sha256=hashlib.sha256(Path(a.trace).read_bytes()).hexdigest(), + output=str(path), + png_sha256=hashlib.sha256(path.read_bytes()).hexdigest(), + numpy_bridge=audit, + **image_metrics(Image.open(a.reference), image), + ) + path.with_suffix(".json").write_text(json.dumps(record, indent=2) + "\n") + print(json.dumps(record), flush=True) + make_comparison( + a.reference, + [path], + root / "comparison", + labels=[ + "Native BF16 decoder", + f"Core ML {a.units}, batch {a.batch}, contiguous bridge", + ], + ) + model.clear() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--vae", required=True) + p.add_argument("--package", required=True) + p.add_argument("--batch", type=int, default=8) + p.add_argument("--units", default="CPU_AND_NE") + p.add_argument( + "--trace", default="outputs/suite/product/native-3.trace.safetensors" + ) + p.add_argument("--reference", default="outputs/suite/product/native-3.png") + p.add_argument("--output", required=True) + main(p.parse_args()) diff --git a/experiments/v2_coreml_vae.py b/experiments/v2_coreml_vae.py new file mode 100644 index 0000000000000000000000000000000000000000..9336493f7ccdcab65443e36b407c4082c768422f --- /dev/null +++ b/experiments/v2_coreml_vae.py @@ -0,0 +1,221 @@ +"""Export complete native VAE tiles to Core ML and inspect real device placement. + +The source BF16 weights/input values are preserved through FP16 conversion. +Internal FP16 rounding differs from the native BF16 decoder; compare images. +Run export/benchmark in .venv-coreml, then use v2_decode.py for image evidence. +""" + +from __future__ import annotations + +import argparse +import gc +import hashlib +import json +import math +import statistics +import time +from pathlib import Path + +import coremltools as ct +import numpy as np +import torch +import torch.nn.functional as F +from safetensors import safe_open + +from experiments.v2_coreml import devices + + +class TileDecoder(torch.nn.Module): + def __init__(self, path, batch): + super().__init__() + self.batch = batch + for p in sorted(Path(path).glob("*.safetensors")): + with safe_open(p, framework="pt", device="cpu") as f: + for key in f.keys(): + if key.startswith("decoder.") or key.startswith("post_quant_conv."): + self.register_buffer( + key.replace(".", "__"), f.get_tensor(key).bfloat16().half() + ) + # Native BF16 grid arithmetic, including BF16 products in 2D RoPE. + coords = 2 * ((torch.arange(16, dtype=torch.bfloat16) + 0.5) / 16) - 1 + yy, xx = torch.meshgrid(coords, coords, indexing="ij") + pos = torch.stack((yy, xx), dim=-1).reshape(-1, 2) + pos = torch.cat((pos, torch.zeros(5, 2, dtype=torch.bfloat16))) + inv = 1 / (100 ** torch.arange(0, 1, 0.125, dtype=torch.float32)) + scaled = (2 * math.pi * pos.float()).bfloat16().float() + angles = (scaled[:, :, None] * inv[None, None, :]).reshape(261, 16) + angles = torch.cat((angles, angles), dim=-1) + self.register_buffer("cosine", angles.cos().bfloat16().half()[None, :, None, :]) + self.register_buffer("sine", angles.sin().bfloat16().half()[None, :, None, :]) + + def w(self, key): + return getattr(self, key.replace(".", "__")) + + def linear(self, x, key): + return F.linear(x, self.w(key + ".weight"), self.w(key + ".bias")) + + def norm(self, x, key=None): + xf = x.float() + y = xf * torch.rsqrt(torch.mean(xf * xf, dim=-1, keepdim=True) + 1e-5) + if key is not None: + y = y * self.w(key).float() + return y.half() + + def rope(self, x): + rotary, tail = x[..., :32], x[..., 32:] + a, b = rotary.chunk(2, dim=-1) + return torch.cat( + (rotary * self.cosine + torch.cat((-b, a), dim=-1) * self.sine, tail), + dim=-1, + ) + + def forward(self, raw): + x = raw.permute(0, 2, 3, 1) + x = F.linear( + x, + self.w("post_quant_conv.weight").reshape(24, 24), + self.w("post_quant_conv.bias"), + ) + x = self.linear(x, "decoder.x_embedder").reshape(self.batch, 256, 1024) + x = torch.cat( + ( + x, + self.w("decoder.register_tokens").expand(self.batch, 4, 1024), + torch.zeros(self.batch, 1, 1024, dtype=torch.float16), + ), + dim=1, + ) + for i in range(24): + p = f"decoder.transformer_blocks.{i}" + h = self.norm(x, p + ".norm1.weight") + qkv = self.linear(h, p + ".attn.to_qkv").reshape(self.batch, 261, 16, 3, 64) + q, k, v = (qkv[:, :, :, j] for j in range(3)) + q, k = self.rope(self.norm(q)), self.rope(self.norm(k)) + attn = ( + F.scaled_dot_product_attention( + q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2) + ) + .transpose(1, 2) + .reshape(self.batch, 261, 1024) + ) + x = x + self.linear(attn, p + ".attn.to_out") * self.w(p + ".scale1") + h = self.norm(x, p + ".norm2.weight") + gate, up = self.linear(h, p + ".ff.w1").chunk(2, dim=-1) + x = x + self.linear(F.silu(gate) * up, p + ".ff.w2") * self.w(p + ".scale2") + x = F.layer_norm( + x.float(), + (1024,), + self.w("decoder.norm_out.weight").float(), + self.w("decoder.norm_out.bias").float(), + 1e-5, + ).half() + x = self.linear(x, "decoder.proj_out")[:, :256] + return ( + x.reshape(self.batch, 16, 16, 3, 16, 16) + .permute(0, 3, 1, 4, 2, 5) + .reshape(self.batch, 3, 256, 256) + ) + + +def main(a): + torch.set_num_threads(a.threads) + package = Path(a.package) + example = ( + np.random.default_rng(731).normal(size=(a.batch, 24, 16, 16)).astype(np.float16) + ) + if not package.exists(): + model = TileDecoder(a.vae, a.batch).eval() + with torch.inference_mode(): + traced = torch.jit.trace(model, torch.from_numpy(example)) + converted = ct.convert( + traced, + convert_to="mlprogram", + inputs=[ct.TensorType(name="raw", shape=example.shape, dtype=np.float16)], + outputs=[ct.TensorType(name="pixels", dtype=np.float16)], + minimum_deployment_target=ct.target.macOS15, + compute_precision=ct.precision.FLOAT16, + skip_model_load=True, + ) + files = sorted(Path(a.vae).glob("*.safetensors")) + identity = [ + (str(p.resolve()), p.stat().st_size, p.stat().st_mtime_ns) for p in files + ] + converted.user_defined_metadata.update( + { + "h3.decoder.format": "h3-coreml-tile-v1", + "h3.decoder.source": hashlib.sha256( + json.dumps(identity).encode() + ).hexdigest(), + "h3.decoder.batch": str(a.batch), + "h3.decoder.precision": "Source BF16 weights and inputs, FP16 internal arithmetic, BF16 tile assembly", + } + ) + package.parent.mkdir(parents=True, exist_ok=True) + converted.save(str(package)) + del model, traced, converted + gc.collect() + report = { + "coremltools": ct.__version__, + "torch": torch.__version__, + "package": str(package), + "batch": a.batch, + "scope": "Complete 24-layer tile decoder. FP16 internals, source weights rounded to BF16 before conversion. NumPy I/O included; tile assembly and normalization excluded.", + "trials": [], + } + dest = Path(a.output) + dest.parent.mkdir(parents=True, exist_ok=True) + for unit in (getattr(ct.ComputeUnit, name) for name in a.units): + row = {"compute_units": unit.name} + try: + tick = time.perf_counter() + model = ct.models.MLModel( + str(package), + compute_units=unit, + optimization_hints={ + "specializationStrategy": ct.SpecializationStrategy.FastPrediction + }, + ) + row["load_compile_s"] = time.perf_counter() - tick + plan = ct.models.compute_plan.MLComputePlan.load_from_path( + model.get_compiled_model_path(), compute_units=unit + ) + row["placement"] = devices(plan) + tick = time.perf_counter() + y = model.predict({"raw": example})["pixels"] + row["first_predict_ms"] = 1000 * (time.perf_counter() - tick) + samples = [] + for _ in range(a.repeats): + tick = time.perf_counter() + y = model.predict({"raw": example})["pixels"] + samples.append(1000 * (time.perf_counter() - tick)) + row.update( + samples_ms=samples, + median_ms=statistics.median(samples), + finite=bool(np.isfinite(y).all()), + ) + del model, plan, y + gc.collect() + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print( + json.dumps({k: v for k, v in row.items() if k != "placement"}), flush=True + ) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--vae", required=True) + p.add_argument("--batch", type=int, default=8) + p.add_argument("--threads", type=int, default=10) + p.add_argument( + "--units", + nargs="+", + choices=("CPU_ONLY", "CPU_AND_GPU", "CPU_AND_NE", "ALL"), + default=["CPU_ONLY", "CPU_AND_GPU", "CPU_AND_NE", "ALL"], + ) + p.add_argument("--repeats", type=int, default=3) + p.add_argument("--package", default="cache/coreml-v2/vae-batch8.mlpackage") + p.add_argument("--output", default="reports/optimization-v2/coreml-vae.json") + main(p.parse_args()) diff --git a/experiments/v2_decode.py b/experiments/v2_decode.py new file mode 100644 index 0000000000000000000000000000000000000000..09865fc843a30ed98c12c494915c2de6f4a4a2b6 --- /dev/null +++ b/experiments/v2_decode.py @@ -0,0 +1,140 @@ +"""Compare native, compiled and Core ML decoders on the exact same final latent.""" + +from __future__ import annotations + +import argparse +import gc +import hashlib +import json +from pathlib import Path + +import mlx.core as mx + +from h3_mlx.benchmark import measure +from h3_mlx.compare import image_metrics, make_comparison +from h3_mlx.coreml_vae import CoreMLVAE +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.vae import VAE, to_image + + +def main(a): + configure_memory(wired_gb=5) + root = Path(a.output) + root.mkdir(parents=True, exist_ok=True) + data = mx.load(a.trace) + latent = data["latent"] + mx.eval(latent) + del data + source = json.loads(Path(a.record).read_text()) + width, height = source["size"] + results = [] + images = [] + labels = [] + reference = None + variants = [ + ("native-b1", VAE, {"tile_batch": 1}), + ("native-b4", VAE, {"tile_batch": 4}), + ("compiled-b4", VAE, {"tile_batch": 4, "compile_blocks": True}), + ("native-b8", VAE, {"tile_batch": 8}), + ("compiled-b8", VAE, {"tile_batch": 8, "compile_blocks": True}), + ] + if a.include_fp32: + variants.insert( + 0, + ( + "fp32-b4-compiled", + VAE, + {"tile_batch": 4, "compile_blocks": True, "dtype": "float32"}, + ), + ) + if a.package: + variants.extend( + ( + "coreml-" + unit, + CoreMLVAE, + { + "tile_batch": a.coreml_batch, + "package": a.package, + "compute_units": unit, + }, + ) + for unit in a.units + ) + for name, cls, options in variants: + model = cls(a.vae, **options) + timer = measure( + lambda model=model: model.decode(latent), warmup=1, repeats=a.repeats + ) + pixels = model.decode(latent) + image = to_image(pixels, width, height) + if reference is None: + reference = image + path = root / f"{name}.png" + image.save(path) + record = { + k: source[k] + for k in ( + "prompt", + "seed", + "size", + "canvas", + "rng", + "reference_images", + "reference_sha256", + "sigmas", + "steps", + ) + if k in source + } + record.update( + vae=options, + vae_backend="coreml" if cls is CoreMLVAE else "mlx", + environment=environment(), + validation_scope="Same final latent; decoder only", + timing_scope="Warm decoder only; model loading excluded", + timings={"decode_s": timer["median_ms"] / 1000}, + source_trace=a.trace, + source_trace_sha256=hashlib.sha256(Path(a.trace).read_bytes()).hexdigest(), + output=str(path), + png_sha256=hashlib.sha256(path.read_bytes()).hexdigest(), + ) + path.with_suffix(".json").write_text(json.dumps(record, indent=2) + "\n") + row = {"variant": name, **timer, **image_metrics(reference, image)} + results.append(row) + images.append(path) + labels.append(name) + print(json.dumps(row), flush=True) + (root / "trials.json").write_text( + json.dumps( + { + "source_trace": a.trace, + "scope": "Same final latent, decoder-only hot latency", + "trials": results, + }, + indent=2, + ) + + "\n" + ) + model.clear() + del model + gc.collect() + mx.clear_cache() + make_comparison(images[0], images[1:], root / "comparison", labels=labels) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--vae", required=True) + p.add_argument("--trace", required=True) + p.add_argument("--record", required=True) + p.add_argument("--package") + p.add_argument( + "--include-fp32", + action="store_true", + help="Use the original FP32 decoder as the same-latent reference", + ) + p.add_argument("--coreml-batch", type=int, default=8) + p.add_argument("--units", nargs="+", default=["CPU_AND_GPU"]) + p.add_argument("--repeats", type=int, default=3) + p.add_argument("--output", default="comparisons/optimization-v2/decoder-product") + main(p.parse_args()) diff --git a/experiments/v2_images.py b/experiments/v2_images.py new file mode 100644 index 0000000000000000000000000000000000000000..407bab16a220d117118c29753c6f701734705586 --- /dev/null +++ b/experiments/v2_images.py @@ -0,0 +1,203 @@ +"""Matched full-pipeline optimization trials, with load and warm runs separate.""" + +from __future__ import annotations + +import argparse +import gc +import json +import logging +from pathlib import Path + +from h3_mlx.runtime import Pipeline +from h3_mlx.weights import Linear + + +class HalfProjection(Linear): + """Experimental FP16 GEMM, with BF16 rounding at every native boundary.""" + + def __call__(self, x): + import mlx.core as mx + + return super().__call__(x).astype(mx.bfloat16) + + +PROFILES = { + "quiet-baseline": {"wired_gb": 42, "cache_refined_text": False}, + "quiet-native": { + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "prefetch_blocks": 4, + "vae_batch": 4, + "vae_compile": True, + }, + "quiet-packed": { + "wired_gb": 32, + "compile_blocks": True, + "eval_every": 0, + "prefetch_blocks": 4, + "weight_storage": "packed12", + "vae_batch": 4, + "vae_compile": True, + }, + "speed": { + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "vae_batch": 4, + "vae_compile": True, + }, + "prefetch": { + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "prefetch_blocks": 4, + "vae_batch": 4, + "vae_compile": True, + }, + "compact": { + "wired_gb": 32, + "compile_blocks": True, + "eval_every": 0, + "prefetch_blocks": 4, + "weight_storage": "packed12", + "vae_batch": 4, + "vae_compile": True, + }, + "baseline": {}, + "compiled": {"compile_blocks": True}, + "compiled-batched": { + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + }, + "compiled-fast": { + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "vae_batch": 8, + }, + "fused-compiled": { + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "vae_batch": 8, + "kernel": "metal-qk", + }, + "batched": {"eval_every": 0, "keep_refiners": True}, + "wired-baseline": {"wired_gb": 42}, + "wired-compiled": { + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + }, + "wired-fast": { + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "vae_batch": 8, + }, + "packed12": { + "wired_gb": 34, + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "weight_storage": "packed12", + }, + "packed12-fast": { + "wired_gb": 34, + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "weight_storage": "packed12", + "vae_batch": 8, + }, + "five-pass": { + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "vae_batch": 8, + }, + "fp16": { + "allow_nonfinite": True, + "wired_gb": 42, + "compile_blocks": True, + "eval_every": 0, + "keep_refiners": True, + "vae_batch": 8, + }, +} + + +def main(a): + logging.basicConfig( + level=logging.INFO, format="%(asctime)s %(message)s", datefmt="%H:%M:%S" + ) + root = Path(a.output) + root.mkdir(parents=True, exist_ok=True) + cases = [ + c + for c in json.loads(Path("experiments/cases.json").read_text()) + if c["id"] in a.cases + ] + for name in a.profiles: + original_load = Linear.load.__func__ + if name == "fp16": + + def half_load(cls, store, prefix, original_load=original_load, **kwargs): + import mlx.core as mx + + layer = original_load(cls, store, prefix, **kwargs) + if prefix.startswith("blocks."): + layer = HalfProjection( + layer.weight.astype(mx.float16), + None if layer.bias is None else layer.bias.astype(mx.float16), + ) + return layer + + Linear.load = classmethod(half_load) + pipeline = Pipeline(a.model, a.text_encoder, **PROFILES[name]) + try: + for case in cases: + for trial in range(a.repeat): + _, row = pipeline.generate( + case["prompt"], + width=case["width"], + height=case["height"], + seed=case["seed"], + images=case.get("images", ()), + save_trace=True, + steps=[0, 2, 3, 4, 5] if name == "five-pass" else None, + output=root / case["id"] / f"{name}-{trial}.png", + ) + row.update(profile=name, case=case["id"], trial=trial) + if name == "fp16": + row["experimental_precision"] = ( + "Main projection GEMMs FP16, native BF16 output rounding; norms, attention and other components retain the original policy" + ) + Path(row["output"]).with_suffix(".json").write_text( + json.dumps(row, indent=2) + "\n" + ) + with (root / "trials.jsonl").open("a") as f: + f.write(json.dumps(row) + "\n") + finally: + pipeline.clear() + del pipeline + gc.collect() + Linear.load = classmethod(original_load) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--text-encoder", required=True) + p.add_argument( + "--profiles", nargs="+", choices=PROFILES, default=["compiled-batched"] + ) + p.add_argument("--cases", nargs="+", default=["product"]) + p.add_argument("--repeat", type=int, default=3) + p.add_argument("--output", default="outputs/optimization-v2") + main(p.parse_args()) diff --git a/experiments/v2_loading.py b/experiments/v2_loading.py new file mode 100644 index 0000000000000000000000000000000000000000..4ef643c7b8d07c95142dbdb526abb394fdc6e176 --- /dev/null +++ b/experiments/v2_loading.py @@ -0,0 +1,74 @@ +"""Compare the original tensor reader with lazy native MLX safetensors I/O.""" + +from __future__ import annotations + +import argparse +import gc +import hashlib +import json +import statistics +import time +from pathlib import Path + +import mlx.core as mx +import numpy as np + +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.weights import WeightStore + + +def main(a): + configure_memory(wired_gb=4) + store = WeightStore(Path(a.model) / "transformer", reader="memmap") + report = { + "environment": environment(), + "scope": "One original tensor at a time. OS page cache is not flushed; includes read/copy and Metal synchronization.", + "trials": [], + } + for key in ( + "blocks.0.attn.qkv_proj.weight", + "blocks.25.mlp.fc1.weight", + "blocks.49.mlp.fc2.weight", + ): + native = mx.load(str(store.index[key])) + for mode in ("memmap_copy", "mlx_lazy_load"): + samples = [] + for _ in range(a.repeats): + gc.collect() + mx.clear_cache() + mx.synchronize() + tick = time.perf_counter() + if mode == "memmap_copy": + value = store.get(key) + else: + # Reload dictionary so every sample has an unevaluated Load node. + value = mx.load(str(store.index[key]))[key] + mx.eval(value) + mx.synchronize() + samples.append(time.perf_counter() - tick) + bits = hashlib.sha256( + np.asarray(value.view(mx.uint16)).tobytes() + ).hexdigest() + del value + report["trials"].append( + { + "key": key, + "mode": mode, + "median_s": statistics.median(samples), + "samples_s": samples, + "uint16_sha256": bits, + } + ) + print(json.dumps(report["trials"][-1]), flush=True) + del native + dest = Path(a.output) + dest.parent.mkdir(parents=True, exist_ok=True) + dest.write_text(json.dumps(report, indent=2) + "\n") + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--repeats", type=int, default=3) + p.add_argument("--output", default="reports/optimization-v2/loading.json") + main(p.parse_args()) diff --git a/experiments/v2_mpp.py b/experiments/v2_mpp.py new file mode 100644 index 0000000000000000000000000000000000000000..d1e89d3e2da018e69ca7451db5547e240d9ed30c --- /dev/null +++ b/experiments/v2_mpp.py @@ -0,0 +1,179 @@ +"""Shape-specific Metal 4 TensorOps GEMM tile, K barrier and walk-order search.""" + +from __future__ import annotations + +import argparse +import gc +import json +from functools import lru_cache +from pathlib import Path + +import mlx.core as mx + +from h3_mlx.benchmark import error, measure +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.weights import Linear, WeightStore + + +@lru_cache(maxsize=None) +def kernel(bm, bn, bk, groups, walk): + header = """ + #include + #include + using namespace mpp::tensor_ops; + """ + source = r""" + const int M = x_shape[0], K = x_shape[1], N = w_shape[0]; + int tiles_m = (M + BM - 1) / BM, tiles_n = N / BN; + int tile = threadgroup_position_in_grid.x; + int ti, tj; + if (WALK == 0) { + ti = tile / tiles_n; tj = tile % tiles_n; + } else { + // Group adjacent M rows, interleaving N tiles for L2 reuse. + int group = tile / (WALK * tiles_n); + int first_m = group * WALK; + int size_m = min(tiles_m - first_m, WALK); + int local = tile - group * WALK * tiles_n; + ti = first_m + local % size_m; + tj = local / size_m; + } + auto A = tensor(const_cast(x), dextents(K, M), array{1, K}); + auto B = tensor(const_cast(w), dextents(K, N), array{1, K}); + auto D = tensor(out, dextents(N, M), array{1, N}); + constexpr auto mode = matmul2d_descriptor::mode::multiply_accumulate; + constexpr auto desc = matmul2d_descriptor(BM, BN, BK, false, true, false, mode); + matmul2d> op; + auto a0 = A.template slice(0, ti * BM); + auto b0 = B.template slice(0, tj * BN); + auto accum = op.template get_destination_cooperative_tensor(); + for (int e = 0; e < accum.get_capacity(); ++e) accum[e] = 0.0f; + for (int k = 0; k < K; k += BK) { + threadgroup_barrier(mem_flags::mem_none); + auto a = A.template slice(k, ti * BM); + auto b = B.template slice(k, tj * BN); + op.run(a, b, accum); + } + auto bias_tensor = tensor(const_cast(bias), dextents(N, M), array{1, 0}); + auto bias_tile = bias_tensor.template slice(tj * BN, ti * BM); + auto bias_regs = op.template get_destination_cooperative_tensor(); + bias_regs.load(bias_tile); + auto result = op.template get_destination_cooperative_tensor(); + for (int e = 0; e < accum.get_capacity(); ++e) result[e] = T(accum[e] + float(bias_regs[e])); + result.store(D.template slice(tj * BN, ti * BM)); + """ + return mx.fast.metal_kernel( + name=f"h3_mpp_{bm}_{bn}_{bk}_{groups}_{walk}", + input_names=["x", "w", "bias"], + output_names=["out"], + source=source, + header=header, + ) + + +def gemm(x, w, bias, bm, bn, bk, groups, walk): + m, k = x.shape + n = w.shape[0] + if k % bk or n % bn: + raise ValueError("This experimental kernel requires aligned K and N") + return kernel(bm, bn, bk, groups, walk)( + inputs=[x, w, bias], + template=[ + ("T", x.dtype), + ("BM", bm), + ("BN", bn), + ("BK", bk), + ("SG", groups), + ("WALK", walk), + ], + grid=(((m + bm - 1) // bm) * (n // bn) * groups * 32, 1, 1), + threadgroup=(groups * 32, 1, 1), + output_shapes=[(m, n)], + output_dtypes=[x.dtype], + )[0] + + +def main(a): + configure_memory() + mx.random.seed(731) + dest = Path(a.output) + dest.parent.mkdir(parents=True, exist_ok=True) + report = { + "environment": environment(), + "warmup": 2, + "repeats": a.repeats, + "scope": "Original projection weights, synthetic BF16 inputs. Custom Metal 4 TensorOps with FP32 accumulation and BF16 bias epilogue.", + "trials": [], + } + store = WeightStore(Path(a.model) / "transformer") + for name in a.operators: + layer = Linear.load( + store, + "blocks.0." + name, + grouped_heads=(56, 128) if name == "attn.qkv_proj" else None, + ) + w = layer.weight + b = layer.bias if layer.bias is not None else mx.zeros(w.shape[0], w.dtype) + x = mx.random.normal((a.tokens, w.shape[1])).astype(w.dtype) + ref = layer(x) + mx.eval(x, w, b, ref) + variants = [(0, 0, 0, 0, 0)] + variants += [ + (bm, bn, bk, sg, walk) + for bm, bn, sg in ( + (32, 64, 2), + (64, 64, 4), + (64, 128, 4), + (128, 64, 4), + (128, 128, 4), + (128, 128, 8), + (64, 128, 8), + ) + for bk in (128, 256, 512) + if w.shape[1] % bk == 0 + for walk in (0, 8) + ] + for bm, bn, bk, sg, walk in variants: + row = { + "operator": name, + "tokens": a.tokens, + "tile": [bm, bn, bk], + "simdgroups": sg, + "walk_m": walk, + } + try: + fn = ( + (lambda layer=layer, x=x: layer(x)) + if bm == 0 + else ( + lambda x=x, w=w, b=b, bm=bm, bn=bn, bk=bk, sg=sg, walk=walk: ( + gemm(x, w, b, bm, bn, bk, sg, walk) + ) + ) + ) + row.update(measure(fn, repeats=a.repeats), **error(ref, fn())) + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + if "error" in row and bm == 32: + # A syntax or SDK incompatibility must be fixed before a sweep. + return + del layer, w, b, x, ref + gc.collect() + mx.clear_cache() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--tokens", type=int, default=4181) + p.add_argument( + "--operators", + nargs="+", + default=["attn.qkv_proj", "attn.out_proj", "mlp.fc1", "mlp.fc2"], + ) + p.add_argument("--repeats", type=int, default=5) + p.add_argument("--output", default="reports/optimization-v2/mpp.json") + main(p.parse_args()) diff --git a/experiments/v2_mps.swift b/experiments/v2_mps.swift new file mode 100644 index 0000000000000000000000000000000000000000..a78e938c6cea9b75b11312634c3c5fdf03701ec9 --- /dev/null +++ b/experiments/v2_mps.swift @@ -0,0 +1,51 @@ +// Synchronized MPSMatrix baseline, including CPU submission and shared buffers. +// Build: swiftc -O experiments/v2_mps.swift -o cache/v2-mps +import Foundation +import Metal +import MetalPerformanceShaders + +let device = MTLCreateSystemDefaultDevice()! +let queue = device.makeCommandQueue()! +let repetitions = 7 +let tokens = Int(CommandLine.arguments.dropFirst().first ?? "4181")! +var results: [[String: Any]] = [] +for (k,n) in [(5376,21504),(7168,5376),(5376,28672),(14336,5376)] { + for fp16 in [true,false] { + let bytes = fp16 ? 2 : 4 + let type: MPSDataType = fp16 ? .float16 : .float32 + let ab = device.makeBuffer(length: tokens*k*bytes, options:.storageModeShared)! + let bb = device.makeBuffer(length: n*k*bytes, options:.storageModeShared)! + let cb = device.makeBuffer(length: tokens*n*bytes, options:.storageModeShared)! + if fp16 { + ab.contents().bindMemory(to:Float16.self, capacity:tokens*k).initialize(repeating:Float16(1.0/64),count:tokens*k) + bb.contents().bindMemory(to:Float16.self, capacity:n*k).initialize(repeating:Float16(1.0/64),count:n*k) + } else { + ab.contents().bindMemory(to:Float.self, capacity:tokens*k).initialize(repeating:1.0/64,count:tokens*k) + bb.contents().bindMemory(to:Float.self, capacity:n*k).initialize(repeating:1.0/64,count:n*k) + } + let a = MPSMatrix(buffer:ab,descriptor:MPSMatrixDescriptor(rows:tokens,columns:k,rowBytes:k*bytes,dataType:type)) + let b = MPSMatrix(buffer:bb,descriptor:MPSMatrixDescriptor(rows:n,columns:k,rowBytes:k*bytes,dataType:type)) + let c = MPSMatrix(buffer:cb,descriptor:MPSMatrixDescriptor(rows:tokens,columns:n,rowBytes:n*bytes,dataType:type)) + let mul = MPSMatrixMultiplication(device:device,transposeLeft:false,transposeRight:true,resultRows:tokens,resultColumns:n,interiorColumns:k,alpha:1,beta:0) + var wall: [Double] = [], gpu: [Double] = [] + for trial in 0..<(repetitions+2) { + let start = ProcessInfo.processInfo.systemUptime + let command = queue.makeCommandBuffer()! + mul.encode(commandBuffer:command,leftMatrix:a,rightMatrix:b,resultMatrix:c) + command.commit() + command.waitUntilCompleted() + precondition(command.status == .completed, "MPS command failed") + if trial>=2 { + wall.append(1000*(ProcessInfo.processInfo.systemUptime-start)) + gpu.append(1000*(command.gpuEndTime-command.gpuStartTime)) + } + } + let y = fp16 ? Float(cb.contents().bindMemory(to:Float16.self,capacity:tokens*n)[0]) : cb.contents().bindMemory(to:Float.self,capacity:tokens*n)[0] + precondition(y == Float(k)/4096, "Projection correctness check failed") + let row: [String:Any] = ["backend":"MPSMatrixMultiplication","dtype":fp16 ? "float16":"float32","shape":[tokens,k,n],"median_ms":wall.sorted()[wall.count/2],"gpu_median_ms":gpu.sorted()[gpu.count/2],"samples_ms":wall,"gpu_samples_ms":gpu,"first_element":y,"expected":Float(k)/4096] + results.append(row) + let encoded = try! JSONSerialization.data(withJSONObject:row,options:[.sortedKeys]) + print(String(data:encoded,encoding:.utf8)!) + fflush(stdout) + } +} diff --git a/experiments/v2_operators.py b/experiments/v2_operators.py new file mode 100644 index 0000000000000000000000000000000000000000..aa5d7953102617770f79e80db40697d5316684d1 --- /dev/null +++ b/experiments/v2_operators.py @@ -0,0 +1,165 @@ +"""Actual H3 projection dimensions, M5 layouts, and new quantization formats. + +Run as a module from the repository root. Each result is persisted immediately. +The inputs are synthetic; weights come from the original checkpoint. +""" + +from __future__ import annotations + +import argparse +import gc +import json +from pathlib import Path + +import mlx.core as mx + +from h3_mlx.benchmark import error, measure +from h3_mlx.ops import swiglu +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.weights import Linear, WeightStore + + +def run(args): + configure_memory() + mx.random.seed(731) + dest = Path(args.output) + dest.parent.mkdir(parents=True, exist_ok=True) + report = { + "environment": environment(), + "warmup": 2, + "repeats": args.repeats, + "scope": "Original block-0 weights; synthetic BF16 inputs. Operator latency only, excludes conversion and loading.", + "trials": [], + } + + def record(op, variant, fn, ref, **extra): + try: + timing = measure(fn, repeats=args.repeats) + row = { + "operator": op, + "variant": variant, + **extra, + **timing, + **error(ref, fn()), + } + except Exception as exc: + row = { + "operator": op, + "variant": variant, + **extra, + "error": f"{type(exc).__name__}: {exc}", + } + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + + store = WeightStore(Path(args.model) / "transformer") + for name in ("attn.qkv_proj", "attn.out_proj", "mlp.fc1", "mlp.fc2"): + layer = Linear.load( + store, + "blocks.0." + name, + grouped_heads=(56, 128) if name == "attn.qkv_proj" else None, + ) + w, bias = layer.weight, layer.bias + x = mx.random.normal((args.tokens, w.shape[1])).astype(mx.bfloat16) + mx.eval(x, w) + ref = layer(x) + mx.eval(ref) + shape = [args.tokens, w.shape[1], w.shape[0]] + record(name, "bf16_nt", lambda layer=layer, x=x: layer(x), ref, shape=shape) + wt = mx.contiguous(w.T) + mx.eval(wt) + fn = ( + (lambda x=x, wt=wt: x @ wt) + if bias is None + else (lambda bias=bias, x=x, wt=wt: mx.addmm(bias, x, wt)) + ) + record(name, "bf16_nn", fn, ref, shape=shape) + del wt, fn + for pad in (64, 128, 256): + n = ((args.tokens + pad - 1) // pad) * pad + padded = mx.pad(x, ((0, n - args.tokens), (0, 0))) + mx.eval(padded) + record( + name, + f"bf16_pad{pad}", + lambda layer=layer, padded=padded: layer(padded)[: args.tokens], + ref, + shape=shape, + padded_tokens=n, + ) + del padded + half, halfw = x.astype(mx.float16), w.astype(mx.float16) + halfb = None if bias is None else bias.astype(mx.float16) + mx.eval(half, halfw, halfb) + fn = ( + (lambda half=half, halfw=halfw: (half @ halfw.T).astype(mx.bfloat16)) + if bias is None + else ( + lambda halfb=halfb, half=half, halfw=halfw: mx.addmm( + halfb, half, halfw.T + ).astype(mx.bfloat16) + ) + ) + record(name, "fp16_round_bf16", fn, ref, shape=shape) + del half, halfw, halfb, fn + for mode, bits, group in ( + ("mxfp8", 8, 32), + ("mxfp4", 4, 32), + ("nvfp4", 4, 16), + ("affine", 8, 32), + ("affine", 6, 32), + ("affine", 4, 32), + ): + try: + packed = mx.quantize(w, mode=mode, bits=bits, group_size=group) + mx.eval(packed) + + def quant( + x=x, packed=packed, mode=mode, bits=bits, group=group, bias=bias + ): + y = mx.quantized_matmul( + x, *packed, mode=mode, bits=bits, group_size=group + ) + return y if bias is None else y + bias + + record( + name, + f"{mode}{bits}_g{group}", + quant, + ref, + shape=shape, + weight_gib=sum(v.nbytes for v in packed) / 1024**3, + ) + del packed, quant + except Exception as exc: + record( + name, + f"{mode}{bits}_g{group}", + lambda exc=exc: (_ for _ in ()).throw(exc), + ref, + ) + del x, w, bias, layer, ref + gc.collect() + mx.clear_cache() + a = Linear.load(store, "blocks.0.mlp.fc1") + b = Linear.load(store, "blocks.0.mlp.fc2") + x = mx.random.normal((args.tokens, 5376)).astype(mx.bfloat16) + + def mlp(x): + return b(swiglu(a(x))) + + ref = mlp(x) + mx.eval(ref) + record("mlp", "eager", lambda: mlp(x), ref) + compiled = mx.compile(mlp) + record("mlp", "compiled", lambda: compiled(x), ref) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--tokens", type=int, default=4181) + p.add_argument("--repeats", type=int, default=5) + p.add_argument("--output", default="reports/optimization-v2/operators.json") + run(p.parse_args()) diff --git a/experiments/v2_report.py b/experiments/v2_report.py new file mode 100644 index 0000000000000000000000000000000000000000..08919fa30af3cdbf4c7dc4c213c9a29715e1416a --- /dev/null +++ b/experiments/v2_report.py @@ -0,0 +1,203 @@ +"""Build the second optimization report from recorded timings and real PNGs.""" + +from __future__ import annotations + +import json +import statistics +from pathlib import Path + +from h3_mlx.compare import image_metrics, make_comparison + +ROOT = Path("reports/optimization-v2") +OUTPUT = Path("outputs/optimization-v2") +GALLERIES = Path("comparisons/optimization-v2") +NAMES = { + "quiet-baseline": "BF16 baseline (packing still active)", + "quiet-native": "Exact optimized BF16, final quiet session", + "quiet-packed": "Exact optimized packed BF16, final quiet session", + "wired-baseline": "BF16 baseline", + "wired-compiled": "Compiled BF16, retained refiners", + "packed12": "Lossless packed, retained refiners", + "prefetch": "Compiled BF16 + exact caches + prefetch", + "compact": "Lossless packed + exact caches + prefetch", + "fp16": "FP16 projection failure (non-finite)", + "five-pass": "Five original passes (skip head 1)", +} + + +def latest(case, profile): + files = sorted( + (OUTPUT / case).glob(f"{profile}-*.png"), + key=lambda p: int(p.stem.rsplit("-", 1)[1]), + ) + return files[-1] if files else None + + +def main(): + from PIL import Image + + ROOT.mkdir(parents=True, exist_ok=True) + ledger = [ + json.loads(line) for line in (OUTPUT / "trials.jsonl").read_text().splitlines() + ] + summary = [] + for case in ("product", "portrait", "native-4k"): + reference = latest(case, "quiet-baseline") or latest(case, "wired-baseline") + if reference is None: + old = list((Path("outputs/suite") / case).glob("native-*.png")) + reference = sorted(old)[-1] if old else None + if reference is None: + continue + ref = Image.open(reference) + for profile in NAMES: + path = latest(case, profile) + if path is None: + continue + group = [r for r in ledger if r["case"] == case and r["profile"] == profile] + # If a suite was rerun with the same filenames, keep its latest row. + group = list({r["output"]: r for r in group}.values()) + hot = [r for r in group if r["dit_was_resident"]] + import numpy as np + from safetensors import safe_open + + with safe_open( + path.with_suffix(".trace.safetensors"), framework="numpy" + ) as trace: + finite = bool(np.isfinite(trace.get_tensor("latent")).all()) + row = { + "valid_denoising": finite, + "case": case, + "profile": profile, + "label": NAMES[profile], + "image": str(path), + "reference": str(reference), + "resident_samples": len(hot), + "load_included_s": [ + r["timings"]["total_s"] for r in group if not r["dit_was_resident"] + ], + "resident_total_s": [r["timings"]["total_s"] for r in hot], + "resident_dit_s": [ + sum(v for k, v in r["timings"].items() if k.startswith("step_")) + for r in hot + ], + "peak_mlx_gib": max(r["memory"]["peak_gb"] for r in group), + **image_metrics(ref, Image.open(path)), + } + row["resident_median_s"] = ( + statistics.median(row["resident_total_s"]) if hot else None + ) + row["resident_dit_median_s"] = ( + statistics.median(row["resident_dit_s"]) if hot else None + ) + summary.append(row) + if case in ("product", "portrait"): + candidates = [] + labels = ["Native six-pass BF16"] + for profile in ("prefetch", "compact", "fp16", "five-pass"): + selected = {"prefetch": "quiet-native", "compact": "quiet-packed"}.get( + profile, profile + ) + path = latest(case, selected) or latest(case, profile) + if path: + candidates.append(path) + labels.append(NAMES[profile]) + for profile, label in ( + ("q8", "Affine Q8 (earlier trial)"), + ("q4", "Affine Q4 (earlier trial)"), + ): + paths = sorted((Path("outputs/suite") / case).glob(f"{profile}-*.png")) + if paths: + candidates.append(paths[-1]) + labels.append(label) + make_comparison(reference, candidates, GALLERIES / case, labels=labels) + elif latest(case, "compact"): + make_comparison( + reference, + [latest(case, "compact")], + GALLERIES / case, + labels=["Native 4K six-pass BF16", "Optimized 4K lossless packed BF16"], + ) + (ROOT / "summary.json").write_text(json.dumps(summary, indent=2) + "\n") + lines = [ + "| Case | Configuration | Warm samples | Warm median (s) | Peak MLX GiB | SSIM | Exact pixels |", + "|---|---|---:|---:|---:|---:|---|", + ] + for r in summary: + seconds = ( + "—" if r["resident_median_s"] is None else f"{r['resident_median_s']:.2f}" + ) + if not r["valid_denoising"]: + seconds = "invalid" + similarity = f"{r['ssim_rgb']:.6f}" if r["valid_denoising"] else "invalid state" + exact = ( + ("yes" if r["pixel_identical"] else "no") + if r["valid_denoising"] + else "non-finite" + ) + lines.append( + f"| {r['case']} | {r['label']} | {r['resident_samples']} | {seconds} | {r['peak_mlx_gib']:.2f} | {similarity} | {exact} |" + ) + (ROOT / "table.md").write_text("\n".join(lines) + "\n") + target = ROOT / "RESULTS.md" + if target.exists(): + text = target.read_text() + start = "" + end = "" + if start in text and end in text: + text = ( + text.split(start)[0] + + start + + "\n\n" + + "\n".join(lines) + + "\n\n" + + end + + text.split(end)[1] + ) + target.write_text(text) + try: + import matplotlib + + matplotlib.use("Agg") + import matplotlib.pyplot as plt + + rows = [ + r + for r in summary + if r["case"] == "product" + and r["resident_median_s"] is not None + and r["profile"] in ("quiet-native", "quiet-packed") + ] + fig, ax = plt.subplots(figsize=(10, 6), layout="constrained") + for r in rows: + ax.scatter( + r["resident_median_s"], + r["peak_mlx_gib"], + s=90, + c=[r["ssim_rgb"]], + vmin=0.6, + vmax=1, + cmap="viridis", + edgecolor="black", + ) + ax.annotate( + r["profile"], + (r["resident_median_s"], r["peak_mlx_gib"]), + xytext=(5, 6), + textcoords="offset points", + fontsize=9, + ) + ax.set( + xlabel="Recorded warm end-to-end seconds (lower is faster)", + ylabel="Peak MLX allocator GiB (lower is smaller)", + title="M5 Pro 64 GB · 2048² product · exact and approximate options", + ) + ax.grid(alpha=0.2) + fig.savefig(ROOT / "tradeoffs.png", dpi=170) + plt.close(fig) + except ImportError: + pass + print(json.dumps(summary, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/experiments/v2_storage.py b/experiments/v2_storage.py new file mode 100644 index 0000000000000000000000000000000000000000..5400ba32033df41d4447f63cf19097dc0cfd1738 --- /dev/null +++ b/experiments/v2_storage.py @@ -0,0 +1,124 @@ +"""Measure exact palette12 packing versus quantized and decoded-weight GEMM.""" + +from __future__ import annotations + +import argparse +import gc +import json +import time +from pathlib import Path + +import mlx.core as mx + +from h3_mlx.benchmark import error, measure +from h3_mlx.packed import PackedLinear +from h3_mlx.runtime import configure_memory, environment +from h3_mlx.weights import Linear, WeightStore + + +def main(a): + configure_memory(wired_gb=8) + dest = Path(a.output) + dest.parent.mkdir(parents=True, exist_ok=True) + report = { + "environment": environment(), + "warmup": 2, + "repeats": a.repeats, + "scope": "Original block-0 weights; synthetic BF16 activations. Includes per-call GPU weight reconstruction, excludes initial packing.", + "trials": [], + } + store = WeightStore(Path(a.model) / "transformer") + mx.random.seed(731) + for name in ("attn.qkv_proj", "attn.out_proj", "mlp.fc1", "mlp.fc2"): + layer = Linear.load( + store, + "blocks.0." + name, + grouped_heads=(56, 128) if name == "attn.qkv_proj" else None, + ) + w = layer.weight + x = mx.random.normal((a.tokens, w.shape[1])).astype(mx.bfloat16) + ref = layer(x) + mx.eval(ref, x) + tick = time.perf_counter() + packed = PackedLinear.from_linear(layer) + pack_s = time.perf_counter() - tick + exact = mx.all( + packed.weight.unpack().view(mx.uint16) == w.view(mx.uint16) + ).item() + if not exact: + raise AssertionError("Lossless weight reconstruction failed") + functions = [ + ("bf16", lambda layer=layer, x=x: layer(x), {}), + ( + "packed12", + lambda packed=packed, x=x: packed(x), + { + "pack_s": pack_s, + "weight_bytes": packed.nbytes, + "ratio": packed.nbytes / layer.nbytes, + "weight_bits_identical": exact, + "escape_fraction": packed.weight.escape_indices.size / w.size, + }, + ), + ] + # Explicit state inputs prevent compile from retaining a dense constant. + def packed_forward(x, state, packed=packed): + return packed(x, state=state) + fn = mx.compile(packed_forward) + state = packed.weight.state() + functions.append(("packed12_compiled", lambda fn=fn, x=x, state=state: fn(x, state), {})) + for variant, call, extra in functions: + row = { + "operator": name, + "variant": variant, + "shape": [a.tokens, w.shape[1], w.shape[0]], + **extra, + **measure(call, repeats=a.repeats), + **error(ref, call()), + } + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + del functions, fn, packed + for bits in (8, 6, 4): + q, s, z = mx.quantize(w, bits=bits, group_size=32) + mx.eval(q, s, z) + + def decoded(q=q, s=s, z=z, bits=bits, x=x, layer=layer): + d = mx.dequantize(q, s, z, bits=bits, group_size=32) + return x @ d.T if layer.bias is None else mx.addmm(layer.bias, x, d.T) + + def fused(q=q, s=s, z=z, bits=bits, x=x, layer=layer): + y = mx.quantized_matmul(x, q, s, z, bits=bits, group_size=32) + return y if layer.bias is None else y + layer.bias + + for variant, call in ( + ( + f"q{bits}_fused", + fused, + ), + (f"q{bits}_dequant_gemm", decoded), + ): + row = { + "operator": name, + "variant": variant, + "shape": [a.tokens, w.shape[1], w.shape[0]], + **measure(call, repeats=a.repeats), + **error(ref, call()), + } + report["trials"].append(row) + dest.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + del q, s, z, decoded + del layer, w, x, ref + gc.collect() + mx.clear_cache() + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--tokens", type=int, default=4181) + p.add_argument("--repeats", type=int, default=7) + p.add_argument("--output", default="reports/optimization-v2/storage.json") + main(p.parse_args()) diff --git a/experiments/v2_torch.py b/experiments/v2_torch.py new file mode 100644 index 0000000000000000000000000000000000000000..44ba4e8111b80ad5fc0fc2fd9eabd291844f30bf --- /dev/null +++ b/experiments/v2_torch.py @@ -0,0 +1,133 @@ +"""Apple GPU/CPU alternatives through PyTorch, including MPS Inductor fusion.""" + +from __future__ import annotations + +import argparse +import gc +import json +import platform +import statistics +import time +from pathlib import Path + +import torch +import torch.nn.functional as F +from safetensors import safe_open + + +def load(folder, key): + for p in sorted(Path(folder).glob("*.safetensors")): + with safe_open(p, framework="pt", device="cpu") as f: + if key in f.keys(): + return f.get_tensor(key) + raise KeyError(key) + + +def measure(fn, device, repeats): + def sync(): + if device == "mps": + torch.mps.synchronize() + + for _ in range(2): + fn() + sync() + samples = [] + for _ in range(repeats): + sync() + tick = time.perf_counter() + fn() + sync() + samples.append(1000 * (time.perf_counter() - tick)) + return {"median_ms": statistics.median(samples), "samples_ms": samples} + + +def main(a): + torch.set_num_threads(10) + torch.manual_seed(731) + root = Path(a.model) / "transformer" + out = Path(a.output) + out.parent.mkdir(parents=True, exist_ok=True) + report = { + "platform": platform.platform(), + "torch": torch.__version__, + "threads": 10, + "repeats": a.repeats, + "warmup": 2, + "scope": "Actual H3 block-0 weights, synthetic activations; model loading and dtype conversion excluded.", + "trials": [], + } + with torch.inference_mode(): + for name in ("attn.qkv_proj", "attn.out_proj", "mlp.fc1", "mlp.fc2"): + w = load(root, "blocks.0." + name + ".weight") + x = torch.randn(a.tokens, w.shape[1]).bfloat16() + # A single FP32 CPU reference distinguishes accumulation precision. + ref = F.linear(x.float(), w.float()) + for device, dtype in ( + ("cpu", torch.bfloat16), + ("cpu", torch.float32), + ("mps", torch.bfloat16), + ("mps", torch.float16), + ("mps", torch.float32), + ): + row = { + "operator": name, + "device": device, + "dtype": str(dtype), + "shape": [a.tokens, w.shape[1], w.shape[0]], + } + try: + xx, ww = x.to(device, dtype), w.to(device, dtype) + row.update( + measure( + lambda xx=xx, ww=ww: F.linear(xx, ww), device, a.repeats + ) + ) + y = F.linear(xx, ww).cpu().float() + row["relative_rmse"] = torch.sqrt( + torch.mean((ref - y) ** 2) / torch.mean(ref**2) + ).item() + del xx, ww, y + if device == "mps": + torch.mps.empty_cache() + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + out.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + del x, w, ref + gc.collect() + w1 = load(root, "blocks.0.mlp.fc1.weight").to("mps") + w2 = load(root, "blocks.0.mlp.fc2.weight").to("mps") + x = torch.randn(a.tokens, 5376, device="mps").bfloat16() + + def mlp(x): + gate, up = F.linear(x, w1).chunk(2, dim=-1) + return F.linear(F.silu(gate) * up, w2) + + reference = mlp(x) + for compiled in (False, True): + row = { + "operator": "mlp", + "compiled": compiled, + "device": "mps", + "dtype": "torch.bfloat16", + } + try: + fn = torch.compile(mlp) if compiled else mlp + row.update(measure(lambda fn=fn: fn(x), "mps", a.repeats)) + y = fn(x) + row["equal_fraction"] = (reference == y).float().mean().item() + except Exception as exc: + row["error"] = f"{type(exc).__name__}: {exc}" + report["trials"].append(row) + out.write_text(json.dumps(report, indent=2) + "\n") + print(json.dumps(row), flush=True) + + +if __name__ == "__main__": + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--tokens", type=int, default=4181) + p.add_argument("--repeats", type=int, default=5) + p.add_argument("--output", default="reports/optimization-v2/torch.json") + main(p.parse_args()) diff --git a/experiments/wheel_verify_r3.py b/experiments/wheel_verify_r3.py new file mode 100644 index 0000000000000000000000000000000000000000..2e1c9068849019150c0a6a6a5c056607dec11aaf --- /dev/null +++ b/experiments/wheel_verify_r3.py @@ -0,0 +1,126 @@ +"""Run a complete 2K CLI generation from the actual wheel, outside the checkout.""" + +import hashlib +import json +import os +import subprocess +import sys +import time +from pathlib import Path + +from experiments.r3.trace_audit import payloads + + +def main(): + root = Path.cwd() + wheel = (root / "dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl").resolve() + case = next( + c + for c in json.loads((root / "experiments/cases.json").read_text()) + if c["id"] == "product" + ) + output = root / "outputs/optimization-r3-wheel/product.png" + output.parent.mkdir(parents=True, exist_ok=True) + script = """import os, h3_mlx +if not h3_mlx.__file__.startswith(os.environ['H3_R3_WHEEL_PATH']): + raise RuntimeError('The checkout shadowed the wheel') +print('Loaded runtime from', h3_mlx.__file__, flush=True) +from h3_mlx.cli import main +main() +""" + command = [ + sys.executable, + "-c", + script, + "generate", + "--model", + str((root / "../minimax-h3-image-opt/models/MiniMax-H3-Image").resolve()), + "--text-encoder", + str( + (root / "../minimax-h3-image-opt/models/MiniMax-H3/text_encoder").resolve() + ), + "--cache-dir", + str(root / "cache"), + "--compile-blocks", + "--eval-every", + "0", + "--prefetch-blocks", + "4", + "--wired-gb", + "42", + "--compile-vae", + "--vae-batch", + "4", + "--kernel", + "metal-qk-exact", + "--tune-matmul", + "--seed", + str(case["seed"]), + "--width", + "2048", + "--height", + "2048", + "--save-trace", + "--output", + str(output), + case["prompt"], + ] + task_env = dict(os.environ, PYTHONPATH=str(wheel), H3_R3_WHEEL_PATH=str(wheel)) + tick = time.perf_counter() + with (root / "reports/optimization-r3/wheel-cli.log").open("w") as handle: + subprocess.run( + command, + cwd="/tmp", + env=task_env, + stdout=handle, + stderr=subprocess.STDOUT, + check=True, + ) + elapsed = time.perf_counter() - tick + import numpy as np + from PIL import Image + + reference = root / "outputs/suite/product/native-3.png" + pixels = np.asarray(Image.open(output).convert("RGB")) + expected = np.asarray(Image.open(reference).convert("RGB")) + trace_equal = payloads(output.with_suffix(".trace.safetensors")) == payloads( + reference.with_suffix(".trace.safetensors") + ) + if not np.array_equal(pixels, expected) or not trace_equal: + raise ValueError("Wheel CLI changed delivered pixels or trajectory") + result = { + "wheel": str(wheel), + "wheel_sha256": hashlib.sha256(wheel.read_bytes()).hexdigest(), + "command": command, + "outer_seconds": elapsed, + "cwd": "/tmp", + "loaded_from_wheel": True, + "pixel_identical": True, + "trace_identical": True, + "reference": str(reference), + "output": str(output), + "png_sha256": hashlib.sha256(output.read_bytes()).hexdigest(), + "record": json.loads(output.with_suffix(".json").read_text()), + } + (root / "reports/optimization-r3/wheel-cli.json").write_text( + json.dumps(result, indent=2) + "\n" + ) + print( + json.dumps( + { + k: result[k] + for k in [ + "outer_seconds", + "loaded_from_wheel", + "pixel_identical", + "trace_identical", + "output", + ] + }, + indent=2, + ) + ) + + +if __name__ == "__main__": + main() diff --git a/files.json b/files.json new file mode 100644 index 0000000000000000000000000000000000000000..700d3f84f4354f09ccce1292cce6de1ef04ba178 --- /dev/null +++ b/files.json @@ -0,0 +1,1325 @@ +{ + "format": "h3-mlx-files-v1", + "files": { + ".gitignore": { + "bytes": 144, + "sha256": "17b671f22b45ce39468ce71da3b145dc8e35198f286584945bdbf4eeabc30d34" + }, + "BENCHMARKS.md": { + "bytes": 2875, + "sha256": "e2c7b0033cec3f9e8dd69a3dac9784d9cfc9808ee3fe614a12d34b1974bb3822" + }, + "LICENSE": { + "bytes": 11346, + "sha256": "1495e1e757ef4d0925a2350563cf5754bb23c51701a8ec4fb3c5cdcbedae6747" + }, + "LICENSE-model": { + "bytes": 18200, + "sha256": "edfab8ece9d0ccd39106c4fe44105ce599b27ca7dd22601b736a8e9219cb4d26" + }, + "LICENSE-text-encoder": { + "bytes": 17604, + "sha256": "59b99642b95ea21630e311198ddbfffbfe05aadba0c2f5d884cbdf4efcc90f44" + }, + "MODEL_INDEX.md": { + "bytes": 2842, + "sha256": "e1f1647b4eced67e570d01840a01d97f5258bda6034d9b26a622af19aa283302" + }, + "NOTICE": { + "bytes": 772, + "sha256": "3c38183c655099f4587694631ff0c203df3cc27824085236081faf0b6abc091c" + }, + "README.md": { + "bytes": 7749, + "sha256": "6cb577e9c93e204b175ee33783d49c4d9fd5640746722a57efa3113989d6354f" + }, + "README.zh-CN.md": { + "bytes": 2160, + "sha256": "2d02886efc5a7ab0450c400d53b9fa94b382f659763fb38b712ca5c80c9a4c12" + }, + "RELEASE.md": { + "bytes": 2351, + "sha256": "f5b56613c8bfa871a379db6732b50a10eacbd6f0dfc210cc96a76c5459bda14a" + }, + "USAGE.md": { + "bytes": 4510, + "sha256": "a98cde10d92ec95d3b7826ad18d698bb59d2b007144f21bd815dee4398329739" + }, + "comparisons/README.md": { + "bytes": 3809, + "sha256": "c5010d12a6b5f6d4f3773da046a55352d13c2983ddd7193b038d664e3a603963" + }, + "comparisons/cuda-reference/native-4k.json": { + "bytes": 2009, + "sha256": "4e119c5f05547e3eae6ca641dc2ad15652173c684100bd661c66cc0e57cedd98" + }, + "comparisons/cuda-reference/portrait.json": { + "bytes": 1903, + "sha256": "b97789686bf8704feef023fee689b71a4b01cd3da75819cc7453ee11c724a252" + }, + "comparisons/cuda-reference/product.json": { + "bytes": 1903, + "sha256": "0e0a64826db0966d0065f07b6492f2632162820d5d9c7f2a18f21694eaf22592" + }, + "comparisons/edit-example/record.json": { + "bytes": 3035, + "sha256": "17d15149811545866e4e8a8a9cabeacbf427eee6df3914d43e961740c40d72de" + }, + "comparisons/native-4k-cuda/metrics.json": { + "bytes": 2361, + "sha256": "5a084c3009607ffd4b6d29f89a966a7d6f65df60185ce0f8605bdf0ae30bc8ab" + }, + "comparisons/optimization-r3/edit/qk-fc2/metrics.json": { + "bytes": 2596, + "sha256": "253fd9509a972ae35045ff90357bf7ddcf3bea9f368617a0a51cc6ffc561d667" + }, + "comparisons/optimization-r3/gallery.json": { + "bytes": 4589, + "sha256": "233336ce104e4b811701e5f6d3dfca7bf9be0fe6001e4b89fd14022ba4a02778" + }, + "comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json": { + "bytes": 2628, + "sha256": "aa1b8960a5f5f9f0d519933afa52556953d00591ccd7566a56616ccdfffa965e" + }, + "comparisons/optimization-r3/portrait/qk-fc2/metrics.json": { + "bytes": 2598, + "sha256": "cdcf6f2e79c3c17093f65c0d7f1b6f86d37a7d4ec4cbdd7ea8d115363e663df2" + }, + "comparisons/optimization-r3/product/qk-fc2/metrics.json": { + "bytes": 2588, + "sha256": "494b3d40d3aaf985209cf290087bc9b53e59feb33f488c633da1a19cbbd0644c" + }, + "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json": { + "bytes": 2640, + "sha256": "1b521c42efdca3075605036fc51bc86e27c3cd9fb8c3aded100085a30422c427" + }, + "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json": { + "bytes": 2679, + "sha256": "575108c69e22d78093498f7db49bfd8cd96ef4886c1c0049852746c5de874d56" + }, + "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json": { + "bytes": 2648, + "sha256": "45f490f5a6ec12f32db054f4aedee0b7dbe302592018b24116be3e06702cadb4" + }, + "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json": { + "bytes": 2643, + "sha256": "b463bc389757d18fb52f502a1e6f3a564c975f6beb13ca2321c39a57cf86e1b7" + }, + "comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json": { + "bytes": 2629, + "sha256": "a9881cfa4f375b17fc9872cdd162bf864313b8c7b17bf5797a619f998f063f92" + }, + "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json": { + "bytes": 2654, + "sha256": "7ff107dd7a594c524c3096601ce938c2485b97d2dce22a6250506d37ac86ea52" + }, + "comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json": { + "bytes": 2623, + "sha256": "859bd41ce5bd6c6611dfc3716cfdb4e698869477856c8c55e0cccc5314c8b4cd" + }, + "comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json": { + "bytes": 2623, + "sha256": "5a3bc54f6b0916d83a1bf70d7af55989a234011fdcd2409fc74955a289783b03" + }, + "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json": { + "bytes": 2627, + "sha256": "d1969a84e778912065751bba2037db6c13a74aa32c0f442ecc61c5b82eee8da9" + }, + "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json": { + "bytes": 2660, + "sha256": "4775d06f38348f216efb8b5ba42ada72077ef087d65b83f8e3accdfa1af87df9" + }, + "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json": { + "bytes": 2623, + "sha256": "9ea037662ba4f0e1edf08d83c6fab2e9929626831cc32a4a61ed540e531e8807" + }, + "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json": { + "bytes": 2625, + "sha256": "49cb9beabd26f0fd062720ff5778e706fe60e06d31cfb88e3d2ece05c502f893" + }, + "comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/metrics.json": { + "bytes": 2398, + "sha256": "782b736bab7b20b594f23e224541f037338124697e8c22400b423eaa1b7c1660" + }, + "comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json": { + "bytes": 1816, + "sha256": "0e308efdd4b55d72605877c9cb713a55b15cd7555fa5c83dc8a98e199d28dda1" + }, + "comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/comparison/metrics.json": { + "bytes": 2400, + "sha256": "725c0475e04e7916e5e309f7c30e1047a54660e0963a0a1024a31aa15d162297" + }, + "comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json": { + "bytes": 1818, + "sha256": "47bd66c2cf5131b00d15ec68a8516ab15d47aa87a84acc7c2758c0dc441b02cd" + }, + "comparisons/optimization-v2/decoder-all-product/comparison/metrics.json": { + "bytes": 6462, + "sha256": "ec56f935d1f7053bd3c495a7dfa7199c0ae916aa2de09a1ad79c037ae76629e4" + }, + "comparisons/optimization-v2/decoder-all-product/compiled-b4.json": { + "bytes": 2067, + "sha256": "a8fa6bdbf4835a9500d9c06660116a1b0e2c5b066e62f26f5c53802debeb2355" + }, + "comparisons/optimization-v2/decoder-all-product/compiled-b8.json": { + "bytes": 2067, + "sha256": "7cfd9be449e4861836948acfda27de9c3e23e591bb4ab6d7993855bf8f4fd534" + }, + "comparisons/optimization-v2/decoder-all-product/coreml-ALL.json": { + "bytes": 2124, + "sha256": "4e4ed54af86b001ce9430cbb1af6032e80e92c92f02e3a70cad945bcb0656747" + }, + "comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_GPU.json": { + "bytes": 2140, + "sha256": "3c585ba3586d88ba8ba1c42588f8e70a0e55d82d713599b15d501597da897252" + }, + "comparisons/optimization-v2/decoder-all-product/coreml-CPU_AND_NE.json": { + "bytes": 2138, + "sha256": "02025f58e45754c097a466dca5ad16eb4200d157c2bfbae302c41c0a35559d57" + }, + "comparisons/optimization-v2/decoder-all-product/coreml-CPU_ONLY.json": { + "bytes": 2135, + "sha256": "81bffa2d36434caaa9255588a7b3e274a40f4e60c8755b8977580795f650c509" + }, + "comparisons/optimization-v2/decoder-all-product/native-b1.json": { + "bytes": 2037, + "sha256": "a687044abf74248540da9c2ff00eb8d146a86a6f9a805822ab0676bed268d526" + }, + "comparisons/optimization-v2/decoder-all-product/native-b4.json": { + "bytes": 2038, + "sha256": "5544d61e0b657397c11061bffa03b26d86314e568918f843cfc4e176bc3425be" + }, + "comparisons/optimization-v2/decoder-all-product/native-b8.json": { + "bytes": 2038, + "sha256": "6e997e2acb6e23766dce8ff6ff9237c4579cc4144facf043c817ade1126f0e84" + }, + "comparisons/optimization-v2/decoder-all-product/trials.json": { + "bytes": 3466, + "sha256": "1989526bee49295fde0db1a59f8c309173943dcff257785c3872a191b022e80b" + }, + "comparisons/optimization-v2/decoder-ane-b1/compiled-b4.json": { + "bytes": 2063, + "sha256": "3e7cb3710f03c91de25674ea3c04bc6d46dcb16f775aba16f4369a530beb2f86" + }, + "comparisons/optimization-v2/decoder-ane-b1/compiled-b8.json": { + "bytes": 2063, + "sha256": "78810f0d94be157e9ba909874d6e9733919cff46a006777018d1c3cd2a9a2db5" + }, + "comparisons/optimization-v2/decoder-ane-b1/native-b1.json": { + "bytes": 2032, + "sha256": "1a610c5f56c5f8773c723e0d9cb559cd75fdde77fd7de533bc37bb8227de413d" + }, + "comparisons/optimization-v2/decoder-ane-b1/native-b4.json": { + "bytes": 2033, + "sha256": "d1383aae0191a5cea950bd499c8ecf3cd3b8153912c42fa4101f8bd2d5806ce8" + }, + "comparisons/optimization-v2/decoder-ane-b1/native-b8.json": { + "bytes": 2033, + "sha256": "1b3444aeb730eabca970b0f65fce5037193a6b07020fc3d75e978f2f63bf775d" + }, + "comparisons/optimization-v2/decoder-ane-b1/trials.json": { + "bytes": 1921, + "sha256": "ff0f7b1f5233c49e4dc3c55987edc5a2f8eeff95fc78e64696fb010eaf43ed82" + }, + "comparisons/optimization-v2/decoder-portrait/comparison/metrics.json": { + "bytes": 4476, + "sha256": "d1c233119dbef9a55bcb145800b35464f5d698a3b2c7dd07007cb398f441a96e" + }, + "comparisons/optimization-v2/decoder-portrait/compiled-b4.json": { + "bytes": 2082, + "sha256": "761ee5794438238e85140077fbef681054d7adc59a82f7a37ddd2b9d8f39dd5d" + }, + "comparisons/optimization-v2/decoder-portrait/compiled-b8.json": { + "bytes": 2083, + "sha256": "8278fbef890d81d84b4192d5bd0896d980961b704f44409b811f705ecaeae982" + }, + "comparisons/optimization-v2/decoder-portrait/coreml-CPU_AND_GPU.json": { + "bytes": 2155, + "sha256": "8e6f4350ec1da1ad88c822761920756a9f5caa9f875896bf0eff92d641a65388" + }, + "comparisons/optimization-v2/decoder-portrait/native-b1.json": { + "bytes": 2052, + "sha256": "812ab3823c25d728a4ab85df138f763cdb7af53e068f496f1d0370a18266dc56" + }, + "comparisons/optimization-v2/decoder-portrait/native-b4.json": { + "bytes": 2053, + "sha256": "1a73b047218a053974710cb4298e4764b0e0e67037e0386651b903444c7f655e" + }, + "comparisons/optimization-v2/decoder-portrait/native-b8.json": { + "bytes": 2053, + "sha256": "0672654b3268adaae8d1f0bd045297333a9ad133d09c3332fb29011e26cc270f" + }, + "comparisons/optimization-v2/decoder-portrait/trials.json": { + "bytes": 2495, + "sha256": "1b94fe64cab7e512bdfd6235c3de0119660d00ce388e37bb5142d1d58eac2d96" + }, + "comparisons/optimization-v2/decoder-product/comparison/metrics.json": { + "bytes": 3267, + "sha256": "9e85aa7aef3dbc93507f2052e97e2af097fc6d8a13c8cbe061588f77f9f5a7d5" + }, + "comparisons/optimization-v2/decoder-product/compiled-b8.json": { + "bytes": 2064, + "sha256": "c9daf1fccad44dead1028c1b93b9965475703725dd11bb657701d70dabcef762" + }, + "comparisons/optimization-v2/decoder-product/coreml-CPU_AND_GPU.json": { + "bytes": 2137, + "sha256": "515e58f30c857d3255b2d1c3f6ec89a09a868c7dbf5833601948f6489df4cff1" + }, + "comparisons/optimization-v2/decoder-product/native-b1.json": { + "bytes": 2033, + "sha256": "b99453a9dca0220a54d52ff2835922f8288d843b8018c44e5a82c296e56e749a" + }, + "comparisons/optimization-v2/decoder-product/native-b8.json": { + "bytes": 2034, + "sha256": "1b3c0277b98884fa4cf80d95bb2843a19b8a95bd2a9f744bbce245210cbb8c86" + }, + "comparisons/optimization-v2/decoder-product/trials.json": { + "bytes": 1865, + "sha256": "15fe6a9f2f5bb5d313102327e78672beceb7288e4303f01baa8e9608853aaa4e" + }, + "comparisons/optimization-v2/fp32-reference/comparison/metrics.json": { + "bytes": 4557, + "sha256": "27527bfe9bc9a8bb19912d84ba6ac046fdb8441f07b1349f6cc6a5755157c9f5" + }, + "comparisons/optimization-v2/fp32-reference/compiled-b4.json": { + "bytes": 2063, + "sha256": "8a38b5f2b10e4b4e8d46c90901d67ae214865fa0e152d18969a6afa07bf72725" + }, + "comparisons/optimization-v2/fp32-reference/compiled-b8.json": { + "bytes": 2063, + "sha256": "294d938f0ebb8d7201ed85c8354a529cfba06f84ef2facf862dc38f47a8dc6d2" + }, + "comparisons/optimization-v2/fp32-reference/fp32-b4-compiled.json": { + "bytes": 2091, + "sha256": "fd6417c48055e4d8f58901edbf303261fdcbf91a6f0217fb4ed85f0757188733" + }, + "comparisons/optimization-v2/fp32-reference/native-b1.json": { + "bytes": 2032, + "sha256": "a792b466bd7ab6bca8d0aea1eb88210be5f0e9ee1b5b6047689def53b9da6aae" + }, + "comparisons/optimization-v2/fp32-reference/native-b4.json": { + "bytes": 2033, + "sha256": "7282274fb578646116ab9d46e063aea55ecac4291706155eb620523d9d9ef427" + }, + "comparisons/optimization-v2/fp32-reference/native-b8.json": { + "bytes": 2032, + "sha256": "99510048dff9aad95deec7cedf1890aee2787ca86a9d4e6153d75d3839522f1f" + }, + "comparisons/optimization-v2/fp32-reference/trials.json": { + "bytes": 2403, + "sha256": "2ac4c2a80142150d07bb3d8554b6e94cc16ebb898a6dc2dd8e0875de802bf0f2" + }, + "comparisons/optimization-v2/native-4k/metrics.json": { + "bytes": 2593, + "sha256": "3f4106ce4dae8f8b623292367cf72012ec03d85458a6ea3eb99207111d8bb0ac" + }, + "comparisons/optimization-v2/portrait/metrics.json": { + "bytes": 6518, + "sha256": "46bbe348ad8d3423bc98a10671cfbea9b086c82e97a78d465b17ffc6dcf8131b" + }, + "comparisons/optimization-v2/product/metrics.json": { + "bytes": 7543, + "sha256": "b44124f242ccd1abaadce5da369f0cd631f2a3272b8a0c28b6091aa024a7dd21" + }, + "comparisons/portrait/metrics.json": { + "bytes": 2617, + "sha256": "82e7c82656547f80128b226fa8dbf06b94da1f15a82ee017fe9c82bf738448db" + }, + "comparisons/portrait-cuda/metrics.json": { + "bytes": 2361, + "sha256": "245d9216b195b8d0fac52da18fb6c90727db4e4795efbecaf793bf6f9c381b81" + }, + "comparisons/product/metrics.json": { + "bytes": 6462, + "sha256": "82f5e656182a84b59be7271ee5694d261100cb0b1fed8ee4939dd25e36626538" + }, + "comparisons/product-cuda/metrics.json": { + "bytes": 2339, + "sha256": "fe21ecba083569a93eb47c29e759029db0aadffbced7da251471cf4bf35149d1" + }, + "comparisons/vae/metrics.json": { + "bytes": 3078, + "sha256": "afa608688cc05555717b4b4db123c244b01779b631a0ca0fa12368cd054c71a6" + }, + "docs/ANNOUNCEMENT.md": { + "bytes": 1303, + "sha256": "3216e1a8bdbd7e068e6608e32cd218d33677505e5ea32c7ba8d9d3d46c165dd6" + }, + "docs/MODIFICATIONS.md": { + "bytes": 2219, + "sha256": "c0e41c98d2eb36f749dcf8d1391acd5136b107cfc938b26ac2f8b2e57732f3db" + }, + "docs/TECHNICAL.md": { + "bytes": 14335, + "sha256": "614b11ea208f6b236e7d27545a7ba5fb02ed1b7f3a7961fe210fe522b9859a8b" + }, + "docs/VALIDATION.md": { + "bytes": 1989, + "sha256": "5f1aab2abdc1ee2e2aa6346c10451b7f6eeeafec4293cc769cd595631a92275b" + }, + "docs/cards/bf16.md": { + "bytes": 2616, + "sha256": "f8bc39d4b5d7243fc18f9e4cdc494625cc3c7b96ccdc70ade0fd30ea59f0f084" + }, + "docs/cards/packed12.md": { + "bytes": 2659, + "sha256": "5d6d2d31c6e17a690f0e08579a200f0218a05b817a612bd5355a1772741dfb20" + }, + "docs/cards/q4.md": { + "bytes": 2609, + "sha256": "08d214870002b5f5cf780a25f496ce0c026b654184b7e22088489b629081f7af" + }, + "docs/cards/q8.md": { + "bytes": 2581, + "sha256": "bc02ab446b67443c9660270655f91f5fd3898b770d3205417b5e517c5f4326ee" + }, + "docs/cards/shared.md": { + "bytes": 1510, + "sha256": "c98ea1f86c72056434d2a67e6405c5dd686796ea50541cd088ea43c247aa84ae" + }, + "docs/validation/packed12-receipt.json": { + "bytes": 566, + "sha256": "42c6b49fab96d5fc21359b90d84a4aa2a8aad8bab731cc40682f0c0980c7aba7" + }, + "docs/validation/q4-receipt.json": { + "bytes": 527, + "sha256": "09fe54700d81aab8da552a74fdd8bc25c7e9e0f82c14fe7867eb5052eb1f179d" + }, + "docs/validation/release-receipt.json": { + "bytes": 654, + "sha256": "429641b073365e8a83ccfbfbc247beec40c359f27be62de39b85204c67dec1fe" + }, + "examples/README.md": { + "bytes": 3719, + "sha256": "51d9d95cfa4e88e7e3de4ed31226322c2f260723c6b81e4f5d4669bda7087d72" + }, + "examples/edit.json": { + "bytes": 4659, + "sha256": "6611077d9532a46c8db35bd92610898a3128be24f0a859fc50dd96556994d88f" + }, + "examples/holdout-detail.json": { + "bytes": 4764, + "sha256": "acd7b37282f98dc29c332c58ea4d41b8004fc7dd3cbc1ed13012ad3618d48ccd" + }, + "examples/portrait.json": { + "bytes": 4640, + "sha256": "7710a1dda8e9e91005bb739418751e3e7bc696f3d77cf5cf6065675a6aae9f03" + }, + "examples/product.json": { + "bytes": 4640, + "sha256": "260fe5bf28320ec369837e635906a20287f8539395be66dda9f993ae20f3c620" + }, + "examples/provenance.json": { + "bytes": 4170, + "sha256": "81956cda6aa9ffb5fbc91c97ee4fe80248356371091dbca60e65120ed1a23211" + }, + "experiments/audit_modulation.py": { + "bytes": 3311, + "sha256": "f0c0519f64d346457ef829049d136cccb5b023a47a065db8d6bbbdceebfb4ece" + }, + "experiments/build_report.py": { + "bytes": 8678, + "sha256": "09f50a5732f4083d2d5afe87a286fb731fa9174206cff2823b0fe3e97ad7d761" + }, + "experiments/cases.json": { + "bytes": 2037, + "sha256": "374200e07297e7d48be180642e539adf94ff773ffce7c15e7151454d650c0c4f" + }, + "experiments/final_bf16.py": { + "bytes": 1489, + "sha256": "e2d4a0ac4693455c2eb3efc9befbbefa8e7141c81a8cbd17bf5981fa118effe2" + }, + "experiments/gallery_r3.py": { + "bytes": 5068, + "sha256": "1bc5e6262d573dc28fe40a950dd02b6844ab24c48d2f73a035575428870affc4" + }, + "experiments/plot_r3.py": { + "bytes": 2763, + "sha256": "210730ddbb172ff7349b24e3273ed4fdd6acbe7363ee2f73cebce8531286e5ea" + }, + "experiments/r3/blocks.py": { + "bytes": 5862, + "sha256": "a67e338a98fe394d6ccace5cb0b76919f7c041b5eb35b07f4031c186eb1f5789" + }, + "experiments/r3/common.py": { + "bytes": 1258, + "sha256": "d2ddb5e7559218ae18b4b7601ed922765828388d6ff5719827370c5ec23c426b" + }, + "experiments/r3/embedding.py": { + "bytes": 2051, + "sha256": "c103a8e6c8af77ba37a01fb4cabc1d9a14f4fd8b141832ef010a7ed0f19b6790" + }, + "experiments/r3/embedding_campaign.py": { + "bytes": 2466, + "sha256": "37793240392d7dc940ede59f793cb6a854df7af51cc496ee7efd63aaca644108" + }, + "experiments/r3/fc1.py": { + "bytes": 5460, + "sha256": "f1ca0611c4a4227093354b573ce701bf137f17e28bfa3c2f4fe195e04967520b" + }, + "experiments/r3/fusions.py": { + "bytes": 5696, + "sha256": "07417745aa39ce9cc3d07939a861b67078b312f194e399221b060ab035d90b3d" + }, + "experiments/r3/images.py": { + "bytes": 9774, + "sha256": "a34444ddb0324221ee2406561047167259ecd738d9262e689088867d5ed1c223" + }, + "experiments/r3/norm.py": { + "bytes": 3934, + "sha256": "1d136df218ae37719fd48c9b249128708382c7fcdc1d71806aeec60452470469" + }, + "experiments/r3/panel.py": { + "bytes": 2665, + "sha256": "2fb4ea4b2a86409d1753d065a1e5a45f327339a1747bbe68a6c2349d93868adc" + }, + "experiments/r3/report.py": { + "bytes": 9989, + "sha256": "736114149c7934900966aaa7c14f29ef0850dd545c699bb6238c4f39b01a9500" + }, + "experiments/r3/screen.py": { + "bytes": 9786, + "sha256": "bd8c048619a43d88090465c45e28943d1c89d08edc3fbb5b2074bb5e59634aaa" + }, + "experiments/r3/shapes.py": { + "bytes": 4799, + "sha256": "c377864f32dc40265f25353c29be1b271a337509a0b22c5ca993a3500e1094b6" + }, + "experiments/r3/trace_audit.py": { + "bytes": 2387, + "sha256": "59ff5c79452d047d187d1f6fc0fe97035475fa7e1e447267729701f1ab7c441f" + }, + "experiments/r3_cache_screen.py": { + "bytes": 3350, + "sha256": "d392bfabbb7991dd0017d230663797c572208e252126dd35b5ce5148be95039a" + }, + "experiments/redecode.py": { + "bytes": 2498, + "sha256": "fd772814e88d3cd7840ac4b225e641c92153104d7816df1002e64d8bc6299f51" + }, + "experiments/run_suite.py": { + "bytes": 4391, + "sha256": "27b7c1c4c2f8f4a9c5512e00cdf9d4218460c67353c413234701ffceae56a8fc" + }, + "experiments/tune_vae.py": { + "bytes": 2228, + "sha256": "a0d9950f229219df7279e913ba5208dafe9912a721a3136858ab9238313d6d24" + }, + "experiments/v2_attention.py": { + "bytes": 8334, + "sha256": "11d68c1cd59e4819d313fe53020214e13d1b92be69ebab1451355dee6144b61a" + }, + "experiments/v2_blocks.py": { + "bytes": 3155, + "sha256": "68a1379e57fbbcadbd2c2cc5a4008354109a19c9e6c891bc09073d7250d3e895" + }, + "experiments/v2_coreml.py": { + "bytes": 8607, + "sha256": "61ffa67594bc7ebb7f06d609192f6a377253251a3d2ee1cf758b4d8609ec5634" + }, + "experiments/v2_coreml_image.py": { + "bytes": 3387, + "sha256": "cbf864f462e0388cdca0fe53d96f4288ecf2253e386c12fe4def1c3c77746825" + }, + "experiments/v2_coreml_vae.py": { + "bytes": 8795, + "sha256": "f75d49fb022b7e5b1560ef8d95aeec891b47a6191057a457dcfd4a5d3fd1eff0" + }, + "experiments/v2_decode.py": { + "bytes": 4530, + "sha256": "4104680ddd141b51251a4580fa10086347338ee2f0ced9e4e985173a1dabb3ca" + }, + "experiments/v2_images.py": { + "bytes": 6098, + "sha256": "94563655f2a057a0b13f16af7e948002a08392beceebc5820984a408293273c4" + }, + "experiments/v2_loading.py": { + "bytes": 2474, + "sha256": "23bc2faf564b85f8cd4b2183f8421b23d254659879d43ba1edebc78fb1ad668a" + }, + "experiments/v2_mpp.py": { + "bytes": 6681, + "sha256": "880761884b6391c04878af8b0aba8fcc185090c092072db5fd271d7e40c721f9" + }, + "experiments/v2_mps.swift": { + "bytes": 3271, + "sha256": "c27c29d62c044a22fd48aacfe3e74a6ea71607e229b13ad4443a64b9801bd5d4" + }, + "experiments/v2_operators.py": { + "bytes": 5586, + "sha256": "29fb2c99dc84a2bba1fcbec789a0a46c779ecdab76d64e58a636da1fda0c1887" + }, + "experiments/v2_report.py": { + "bytes": 7654, + "sha256": "f3e3534f6a673d0d86661f943cca2d69b32883ae27909e47f443ffbe7606597d" + }, + "experiments/v2_storage.py": { + "bytes": 4656, + "sha256": "4bcc5d74db1c50d1d8c84f3aedca670ec3b2fee16eb5b40b12a23d94e9676793" + }, + "experiments/v2_torch.py": { + "bytes": 4664, + "sha256": "bd62577b8c04191460c65220440cfefe58f78781dd1b6ce4b2787bb75b76e3e8" + }, + "experiments/wheel_verify_r3.py": { + "bytes": 3711, + "sha256": "5aeddd57aff2a969aa384f8812d191c581c0190dfd26b1415755e3c02f9ac97e" + }, + "h3_mlx/__init__.py": { + "bytes": 425, + "sha256": "859fc9c3ad8b906a00a97892ae14a43ce5391e964c737f2de28d6bb70e37f56e" + }, + "h3_mlx/__main__.py": { + "bytes": 30, + "sha256": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279" + }, + "h3_mlx/benchmark.py": { + "bytes": 6850, + "sha256": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6" + }, + "h3_mlx/cli.py": { + "bytes": 9724, + "sha256": "76d793fecffa303337acf914f0b0babb6b9fded45aeaa13f53c2bbce7ea4b36c" + }, + "h3_mlx/compare.py": { + "bytes": 11888, + "sha256": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095" + }, + "h3_mlx/config.py": { + "bytes": 2084, + "sha256": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168" + }, + "h3_mlx/convert.py": { + "bytes": 3919, + "sha256": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0" + }, + "h3_mlx/coreml_vae.py": { + "bytes": 3376, + "sha256": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2" + }, + "h3_mlx/dit.py": { + "bytes": 26247, + "sha256": "2a5eec3607fec06c7152eb32b201c5c716e2426392c11c836eae96448c13ff4e" + }, + "h3_mlx/encoder.py": { + "bytes": 7250, + "sha256": "24d68a2e00e334c10b6d7b1ea9dde50074edecbb30236a2c238c14ffb80e64c2" + }, + "h3_mlx/hub.py": { + "bytes": 8271, + "sha256": "4f8fd252bc41b8d73978383d1d63d4bad5a0f77b103ce537a0fbda18f50a5255" + }, + "h3_mlx/kernels.py": { + "bytes": 4919, + "sha256": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d" + }, + "h3_mlx/layout.py": { + "bytes": 1856, + "sha256": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1" + }, + "h3_mlx/memory.py": { + "bytes": 3482, + "sha256": "53dc36a7e08391523f9f19f0c27e2059bdc87219282a9bb7f23f92d92cb0049d" + }, + "h3_mlx/model_index.json": { + "bytes": 1514, + "sha256": "e72da98d5ca7358dfc1a52d803ad22a7a2bad7e28fb042f95d9bd52e227e773a" + }, + "h3_mlx/ops.py": { + "bytes": 3228, + "sha256": "111b3ee956ee4090f356d68644edc936ad2fe4bde394a699830fd0e8ae8ba273" + }, + "h3_mlx/packed.py": { + "bytes": 5390, + "sha256": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde" + }, + "h3_mlx/reference.py": { + "bytes": 6351, + "sha256": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e" + }, + "h3_mlx/runtime.py": { + "bytes": 14732, + "sha256": "654a4d07b79e48d015c7f1bcf3084c8b92c875b2f957b5afb81a8900a9162a0d" + }, + "h3_mlx/tuning.py": { + "bytes": 10546, + "sha256": "d26a892d8b45b0a688eeb85274b6a7706e4ace97baaaab885e978a785b9cf71e" + }, + "h3_mlx/vae.py": { + "bytes": 8916, + "sha256": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0" + }, + "h3_mlx/vision.py": { + "bytes": 7757, + "sha256": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea" + }, + "h3_mlx/weights.py": { + "bytes": 7718, + "sha256": "8f81139011d1a813e6245d3a97681aa17285ace90fe32f5831e327e5781fcdd1" + }, + "optimization/lessons/minimax-h3-r3-exact-qk-fc2.json": { + "bytes": 3443, + "sha256": "35fd8a37e268d11f89c8acff6e08563ddf54fe381be768f37403e0a3f6106597" + }, + "optimization/lessons/minimax-h3-r3-packed-exact-tuning.json": { + "bytes": 2677, + "sha256": "9a3f5efddd63553b48b531bcc58bad5e9cc80155910c3c43c7ef26b380e321f0" + }, + "optimization/round-03/abi-check.json": { + "bytes": 492, + "sha256": "5b976c6876419217793b9a9cb304f951b710b3595cb6600d3925fc2131fc1d1f" + }, + "optimization/round-03/baseline-code.json": { + "bytes": 1721, + "sha256": "5aad5998892be151cff0023ab0f56a905e9e944b4378316455eb8bab5147f106" + }, + "optimization/round-03/cache-candidate.json": { + "bytes": 1207, + "sha256": "eb93287421c978fd887f5e6332b918cf14785d238550cf4011b1ba4dbc7e2730" + }, + "optimization/round-03/contract.json": { + "bytes": 1333, + "sha256": "b6c501a1cea4d37c3cd96fb73a2f339491cac58aae41adeeb63f60e82e579ab0" + }, + "optimization/round-03/evaluator.json": { + "bytes": 604, + "sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee" + }, + "optimization/round-03/hypotheses.json": { + "bytes": 1786, + "sha256": "2148abbabc6bccf7b242ab1a004f9505281c8ef99b518b73ac25890cbe9a0853" + }, + "optimization/round-03/lesson.json": { + "bytes": 3443, + "sha256": "35fd8a37e268d11f89c8acff6e08563ddf54fe381be768f37403e0a3f6106597" + }, + "optimization/round-03/receipt.json": { + "bytes": 5444, + "sha256": "04c51179eb31f73187d9bbe4c66e23c58b4a04428c33fd21d45d9e001eb00f76" + }, + "optimization/round-03/reference.json": { + "bytes": 893, + "sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065" + }, + "optimization/round-03/workload.json": { + "bytes": 2742, + "sha256": "5dfe34824190abd241185fd37214e3de5be425d82f0a6f556d0d23f0dec68042" + }, + "optimization/round-03-compact/contract.json": { + "bytes": 1256, + "sha256": "94e41570449a1cdef888fc2baac8a59932091f2425645a44f95e7fbd2543847a" + }, + "optimization/round-03-compact/evaluator.json": { + "bytes": 604, + "sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee" + }, + "optimization/round-03-compact/lesson.json": { + "bytes": 2677, + "sha256": "9a3f5efddd63553b48b531bcc58bad5e9cc80155910c3c43c7ef26b380e321f0" + }, + "optimization/round-03-compact/reference.json": { + "bytes": 1349, + "sha256": "5fccbc8664a6efb3f9ff7e14b764c1aae876785fc28fd492dbb6c24b1b773a8b" + }, + "optimization/round-03-compact/workload.json": { + "bytes": 2770, + "sha256": "8d14bb9873982547f69bbbd13e2a1e645f97454f14428220aa78001d4f843b13" + }, + "provenance/implementation-sha256.json": { + "bytes": 2515, + "sha256": "d42da50921f6d0b168490e5cd007a977f18f23113ebe7440d6744d908d6b31ff" + }, + "provenance/optimization-r3.json": { + "bytes": 1411, + "sha256": "d6d082a91c45e4f55ab34134fa8b65cb786f36cdf150b94b770bc8402bbdfe4d" + }, + "provenance/sources.json": { + "bytes": 2602, + "sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f" + }, + "provenance/weights-manifest.json": { + "bytes": 8430, + "sha256": "10bf40c7cac08a1bcd0e025f433e0b35cdc69712fe10dbe08a17c92acf6962ea" + }, + "pyproject.toml": { + "bytes": 1151, + "sha256": "9f1c4dcd5ceb1837c290acc13bfb13c91947d5d77c1f87fecb908f99959d7a49" + }, + "release-owner.json": { + "bytes": 73, + "sha256": "b9709ff397f1f3c7b28b4750a8da2e2b281051b063bbefa593c33f0bffbc358c" + }, + "reports/RESULTS.md": { + "bytes": 13858, + "sha256": "93cf5bdaafcddbc0d278869d56cec68f40d44ed243e8306ed0ba9f7b008768c1" + }, + "reports/image-trials.json": { + "bytes": 67963, + "sha256": "cae93a0347b5a9355e1e5fe621055139063e30bae8054464e1ff0ea1692c22fb" + }, + "reports/inference/edit/native-0.json": { + "bytes": 3035, + "sha256": "17d15149811545866e4e8a8a9cabeacbf427eee6df3914d43e961740c40d72de" + }, + "reports/inference/native-4k/native-0.json": { + "bytes": 3620, + "sha256": "96df77eb7169738fc45384df8b2aeadab67a26095784214a589232d3592aa800" + }, + "reports/inference/portrait/native-0.json": { + "bytes": 3580, + "sha256": "6323d84c099c11131f01efc41c336f72d278789dbe7cab5a366f2076d8c7b0a7" + }, + "reports/inference/portrait/q8-0.json": { + "bytes": 3011, + "sha256": "d2eb4238769f5d6fd7305231a76a637ec53c237ba95f17d1076beff2dcc6e8d3" + }, + "reports/inference/product/fused-0.json": { + "bytes": 3367, + "sha256": "b7e9dfe29b4e86ef7ad1718ae63f77a018a5986ae5c465bc2bfbed06ea6d09f0" + }, + "reports/inference/product/fused-1.json": { + "bytes": 3369, + "sha256": "12fa679d22fb8701dbf5c55d896422ae5f3a3cab3d7438210974dbdea7c3331b" + }, + "reports/inference/product/fused-2.json": { + "bytes": 3021, + "sha256": "251918d597a9b5d8a9db126b86021bdf3569ed1219a3916c6f2b6baa218cdd6b" + }, + "reports/inference/product/native-0.json": { + "bytes": 3335, + "sha256": "c031d87a33b468db5f8b2161f1e37d18d4b47a61a9caccd91eb2119b30aa04ac" + }, + "reports/inference/product/native-1.json": { + "bytes": 3343, + "sha256": "8a74fe61eb43a6e68fdb9d7b18a254aa93fc2a3bbf4bc079aee20a8fb6496c81" + }, + "reports/inference/product/native-2.json": { + "bytes": 3021, + "sha256": "729066d533a8efc5946183662b8b38db3196bb686cf32c397b37319796545043" + }, + "reports/inference/product/native-3.json": { + "bytes": 3013, + "sha256": "539b2117dfaf02357a013da870e23219d4e71cd672ba0da225fb00cfc232af1b" + }, + "reports/inference/product/preview-0.json": { + "bytes": 3135, + "sha256": "aa3ce165232acc4f99ba2c8e6eb105d10105f29ecc397c627d2d314895714817" + }, + "reports/inference/product/preview-1.json": { + "bytes": 3132, + "sha256": "1de61404495396dc77df134e3a876942417b03ddccea3f4e5da712550f93a08f" + }, + "reports/inference/product/q4-0.json": { + "bytes": 3367, + "sha256": "b42e9b6db4ffe878ca135b742277df659c578bded8d393372df4629306b072e9" + }, + "reports/inference/product/q4-1.json": { + "bytes": 3365, + "sha256": "d2df5b6a5ed1eca646fc3d44f4e131228e429f79c98163cb99f1e4a87aa8773d" + }, + "reports/inference/product/q8-0.json": { + "bytes": 3367, + "sha256": "e1cbc590c5a7fa1230fee75990e47655ee277d3b9fc65a2299177330eedc465b" + }, + "reports/inference/product/q8-1.json": { + "bytes": 3363, + "sha256": "c26c6b497d2da6a59fb760383fdd822e98d8cacaadce275fcd9d8d6937a44d33" + }, + "reports/inference/product/tuned-0.json": { + "bytes": 3343, + "sha256": "c80637eaa9c6c0410685e625f8402da1d1af2686a0e61da2f5dcf42bf902f463" + }, + "reports/inference/product/tuned-1.json": { + "bytes": 3336, + "sha256": "38011967dc38f521a61a551313bdc7239d8b46c2feb9c61c5e6f09412fc16dab" + }, + "reports/modulation-audit.json": { + "bytes": 1336, + "sha256": "a81b41d114db03f8cccaca359c800a8c5d635cad709c9dbcfaaa66ab0cf8a298" + }, + "reports/operators.json": { + "bytes": 36304, + "sha256": "e709d10a35e8a18d2feb5d74afeaa6a933df0ac4aea4257da436102345078b84" + }, + "reports/optimization-r3/METHOD.md": { + "bytes": 5102, + "sha256": "9217242ebc27be328b0dfcc6714677c3885eb50a014ccc2f412555948ce7fd4d" + }, + "reports/optimization-r3/RESULTS.md": { + "bytes": 10814, + "sha256": "196c9678873295a82bbd832d660de18e90932ada02d065779120c4c7904c016e" + }, + "reports/optimization-r3/STATUS.json": { + "bytes": 1552, + "sha256": "b9b347b806271ff15de1c27e93993a8d86c48081dcb2f5f0f64347f9b38be741" + }, + "reports/optimization-r3/SUMMARY.json": { + "bytes": 6400, + "sha256": "acbc49afb0641f03409aee6a27d83fe916a12888196211a0c196a80ce06430bb" + }, + "reports/optimization-r3/artifact-manifest.json": { + "bytes": 124476, + "sha256": "75dc49a41f64243319b77290fe388f8916306cc90e2b29a26d6cf07b1c1ca695" + }, + "reports/optimization-r3/artifact-manifest.sha256": { + "bytes": 89, + "sha256": "523a78277eba56e485b42fac65c5bcfee3e97c9f5e2d0a2c0b2afd209ef9bfa7" + }, + "reports/optimization-r3/blocks-finalists.log": { + "bytes": 5118, + "sha256": "056e73429eb09ff9651eed61142db665c60d94739772522707e7c8db6cbbdafc" + }, + "reports/optimization-r3/blocks-first.json": { + "bytes": 5723, + "sha256": "ea9b229d9dc5f86be31f71beb6b22ab44ee17721087b9d7e313c4620bc0fa43d" + }, + "reports/optimization-r3/blocks.json": { + "bytes": 8829, + "sha256": "cb2ffca5f767f369ae2a39c03b06b17758be094126e01ad6a29142226fd06450" + }, + "reports/optimization-r3/blocks.log": { + "bytes": 3067, + "sha256": "2fe98edce686b2a108028707ec68416f331d5396099f9547e4b637f6f9d69319" + }, + "reports/optimization-r3/cache-screen.json": { + "bytes": 7821, + "sha256": "568b51938cf5f02a94c14d47298fa225d98b5ae384200dac0e4b55a1e91c6009" + }, + "reports/optimization-r3/cache-screen.log": { + "bytes": 5392, + "sha256": "ce4e58873fa1bac6f2ced82896d6b1ab7d74a724d76b17a7d70fb1dd109f8e47" + }, + "reports/optimization-r3/compact-audit.log": { + "bytes": 1848, + "sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d" + }, + "reports/optimization-r3/compact-deployment/comparison.json": { + "bytes": 1821, + "sha256": "f04c312015382fdfd7cd021df6168d7729344594ee7c4ac2143b18f4b503c66c" + }, + "reports/optimization-r3/compact-deployment/control.receipt.json": { + "bytes": 5465, + "sha256": "b1c368f6fbd1732be68714d40bd87e941e6d07bdbce7a0f046bd59340a56e070" + }, + "reports/optimization-r3/compact-deployment/qk-fc2-native-norm.receipt.json": { + "bytes": 5486, + "sha256": "3b990fe5a0df069932f072cec0b97b931e494d15a1907fcc3648b04d00608e62" + }, + "reports/optimization-r3/compact-deployment/quality-audit.json": { + "bytes": 7703, + "sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16" + }, + "reports/optimization-r3/compact-deployment/summary.json": { + "bytes": 1848, + "sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d" + }, + "reports/optimization-r3/compact-images.log": { + "bytes": 19630, + "sha256": "3f93e32a538185c9276c8a45985d79b5a26189bd181e03ccd220d4ba8b1b2edc" + }, + "reports/optimization-r3/compact-trace-audit.json": { + "bytes": 26954, + "sha256": "e6f5bb6a4a52be8ea832bcd22e033c473499592702f9ed46d9a488af09c3d281" + }, + "reports/optimization-r3/deployment/comparison.json": { + "bytes": 1815, + "sha256": "5438ce89ced53d19913534af51cb1e20d6d11e98794a5b7a986ba07480a393d8" + }, + "reports/optimization-r3/deployment/control.receipt.json": { + "bytes": 5365, + "sha256": "29c0555c5ee93234f9f850aae5bbc72ca42abf33f9a4ba97abb60e719830c8a0" + }, + "reports/optimization-r3/deployment/qk-fc2.receipt.json": { + "bytes": 5363, + "sha256": "ed7414bf97d2302f63c6bec8b6e74be28ba2e59bcfca61083be110eae568114a" + }, + "reports/optimization-r3/deployment/quality-audit.json": { + "bytes": 7523, + "sha256": "9ca5a230623a6e864905c3eb4415744e5ba316581124124491d1b402de6b2fc7" + }, + "reports/optimization-r3/deployment/summary.json": { + "bytes": 1828, + "sha256": "b5bb2dbed4be970e4dfd1e5100e83bdfc65a817ca91994448da8aa2ef3cefd82" + }, + "reports/optimization-r3/deployment-audit.log": { + "bytes": 1828, + "sha256": "b5bb2dbed4be970e4dfd1e5100e83bdfc65a817ca91994448da8aa2ef3cefd82" + }, + "reports/optimization-r3/deployment-images.log": { + "bytes": 19319, + "sha256": "8d8b3ebdb1d0cf17523043a0e0d910bcaa1c74ae9e47a78eae8bbf1dd2870653" + }, + "reports/optimization-r3/deployment-trace-audit.json": { + "bytes": 35065, + "sha256": "2358c440b8d1169614d47a2dc021f47cf875f0c8d689a87eef13a33a7af3bc34" + }, + "reports/optimization-r3/embedding/full-prepare-page-cache--1.json": { + "bytes": 1737, + "sha256": "607d6072544d37c51f19d9566ce4ce095a9b3ee21735b99121be02c46774c443" + }, + "reports/optimization-r3/embedding/full-prepare-page-cache--1.log": { + "bytes": 1118, + "sha256": "a35703d3a9a9690435ae0d5c9b964cc7dd169c99cb44f1eee1092d96ba245cef" + }, + "reports/optimization-r3/embedding/full-timed-0.json": { + "bytes": 1708, + "sha256": "c26f3746c17ccae71ef864f6504d9f8b91aca2cb98b156633b2579cdb1e283b9" + }, + "reports/optimization-r3/embedding/full-timed-0.log": { + "bytes": 1117, + "sha256": "6e7e7d326e1df76201c10a1b219474f691dd3f1ced03ab60fc7efabc4a926acf" + }, + "reports/optimization-r3/embedding/full-timed-1.json": { + "bytes": 1709, + "sha256": "9636598417c5be1f4a182d23daf7477a89879caf4d3e55c65bab56bb6cf976e9" + }, + "reports/optimization-r3/embedding/full-timed-1.log": { + "bytes": 1117, + "sha256": "5304cf70697a36723ea4702ddb2a7e80ba2d08cfa248b7f0c649edb1d0c36f1e" + }, + "reports/optimization-r3/embedding/full-timed-2.json": { + "bytes": 1709, + "sha256": "fa59ba59f193df78e5c3b9a83289300dac1b47a41e5a0a2ce2786bf2ebdfed08" + }, + "reports/optimization-r3/embedding/full-timed-2.log": { + "bytes": 1117, + "sha256": "ddddd5442d003dfc6c4004931287da3ea1fb9552a84a57527833fdb41e2fda4c" + }, + "reports/optimization-r3/embedding/rows-timed-0.json": { + "bytes": 1701, + "sha256": "e7895eeb637161c16ff0f29d737224825cd6ea73089f366695efcdf7871357ce" + }, + "reports/optimization-r3/embedding/rows-timed-0.log": { + "bytes": 1110, + "sha256": "f26aede3d4eaceb3f3ec6e7d395f746a0c5d7e31620b1bd654ffbe69af589991" + }, + "reports/optimization-r3/embedding/rows-timed-1.json": { + "bytes": 1701, + "sha256": "2b55f95a44b1dde239c667c2ed1bdf2a71113372f361c77f0e059153a597dd20" + }, + "reports/optimization-r3/embedding/rows-timed-1.log": { + "bytes": 1109, + "sha256": "29c9f4b0fa4dd10e8c2af0cf9cbfbc47f94aba719afdf4453690376d13b2cd69" + }, + "reports/optimization-r3/embedding/rows-timed-2.json": { + "bytes": 1701, + "sha256": "f7e28b51acfd25cfa2ad64e8c1724dbe675a60b4ad802a68a4bd5b8cf2180f62" + }, + "reports/optimization-r3/embedding/rows-timed-2.log": { + "bytes": 1109, + "sha256": "8fe27be019c14653308c39a8fc965a6557b72498c8ca92aa768c0449ba08b37e" + }, + "reports/optimization-r3/embedding/summary.json": { + "bytes": 686, + "sha256": "dabdba5b4d3b9cebbccfc43671014971ba26216c96e52d50054e050c2ff676d9" + }, + "reports/optimization-r3/embedding-campaign.log": { + "bytes": 686, + "sha256": "dabdba5b4d3b9cebbccfc43671014971ba26216c96e52d50054e050c2ff676d9" + }, + "reports/optimization-r3/embedding-tests.log": { + "bytes": 98, + "sha256": "b4e6716fbd6745e8531d806d530757d7b2e907a881718c8369d92405a53c4ebc" + }, + "reports/optimization-r3/fc1-compile-failure.json": { + "bytes": 11572, + "sha256": "d0ecc8c7a42d5681252605efb9cae172a1f75fff8b5e8165d86a6b43f9eea9f9" + }, + "reports/optimization-r3/fc1.json": { + "bytes": 11943, + "sha256": "284eef0ae964cd5f067ea1ff2ca421d3ffa6d41148e7b1ffd159d0aea2d959bd" + }, + "reports/optimization-r3/fc1.log": { + "bytes": 7139, + "sha256": "84ebabac07b9951b4e5d28e0201a8b4f08d22fe0edc5902b901c93adf1764baa" + }, + "reports/optimization-r3/images.log": { + "bytes": 22870, + "sha256": "4e4a6c7f08fc735459997920817312c5410286704cdb03441765a08f44b77784" + }, + "reports/optimization-r3/lint-draft.log": { + "bytes": 1350, + "sha256": "83bf2df8ccd120ac85ea2d0a23b4e74331c2a4a3d69a415e19f98cffb9f06e35" + }, + "reports/optimization-r3/norm.json": { + "bytes": 6966, + "sha256": "473e30d475788737cf7e45349ef94c0330f527a5011d9a8d3c8590822a87e3e7" + }, + "reports/optimization-r3/norm.log": { + "bytes": 4122, + "sha256": "1c002b2b31c4ec015313a7ae1589e78d6a6e8bdcea8ba3a05ef1486ccb908577" + }, + "reports/optimization-r3/panel.json": { + "bytes": 2792, + "sha256": "7c1d64f439912eccdf0b959b3c3e460046b5737aec04959642a9ec90a76c9ce8" + }, + "reports/optimization-r3/panel.log": { + "bytes": 2180, + "sha256": "895d4b95a39640879ed3490be47a77403fbe4f4c8ebb3f9c93434da62f0d0a9d" + }, + "reports/optimization-r3/qk-audit.log": { + "bytes": 1839, + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + }, + "reports/optimization-r3/qk-deployment/comparison.json": { + "bytes": 1819, + "sha256": "346409df254b31a692f4d031c1363efd35ba9638db494e4bf5f13afe3b6d31ad" + }, + "reports/optimization-r3/qk-deployment/control.receipt.json": { + "bytes": 5423, + "sha256": "5cca2021b3f1943a96a66306a282807046e49722b53d043a02e3329c0555db64" + }, + "reports/optimization-r3/qk-deployment/qk-fc2-native-norm.receipt.json": { + "bytes": 5444, + "sha256": "04c51179eb31f73187d9bbe4c66e23c58b4a04428c33fd21d45d9e001eb00f76" + }, + "reports/optimization-r3/qk-deployment/quality-audit.json": { + "bytes": 7603, + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + "reports/optimization-r3/qk-deployment/summary.json": { + "bytes": 1839, + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + }, + "reports/optimization-r3/qk-images.log": { + "bytes": 19373, + "sha256": "5283b2149aaa89a59e9bcf1e44d90442b1bd882c940a07c03e7fb8d34426ef38" + }, + "reports/optimization-r3/qk-trace-audit.json": { + "bytes": 28920, + "sha256": "cdcc1cbc0b1d0d54f9db6563b74b4e5743751b67f505f1f31969c0cb14d4f9b8" + }, + "reports/optimization-r3/research/quality-audit.json": { + "bytes": 8775, + "sha256": "2ebcb58b0f5502bce73df6b1cc0dc6ecec5498db1f3228aa685335f62f91728f" + }, + "reports/optimization-r3/research/summary.json": { + "bytes": 1814, + "sha256": "cb8413ffeb8b785c6c1043251ab433e3da4177bf5cf2fe27dd5dffc8893e5edb" + }, + "reports/optimization-r3/research-audit.log": { + "bytes": 1814, + "sha256": "cb8413ffeb8b785c6c1043251ab433e3da4177bf5cf2fe27dd5dffc8893e5edb" + }, + "reports/optimization-r3/screen-decisions.json": { + "bytes": 2626, + "sha256": "c747550744aa6587f689cc00353de1f83c42a46d3877ebdf195ce723fd99e1ea" + }, + "reports/optimization-r3/screen-initial.json": { + "bytes": 53337, + "sha256": "3a217360625abb4a26248bbe00c9dfe30fed2d928062f71c5c7cf5af8eb916be" + }, + "reports/optimization-r3/screen.json": { + "bytes": 112141, + "sha256": "58675fb0df998d08b52c9fe4258cedf708ce638c914f628eb0b417ee27993c8f" + }, + "reports/optimization-r3/screen.log": { + "bytes": 70750, + "sha256": "2697ba16c6585c4d93837b5275c4450e77457760980fa5b7f675498341eb41ce" + }, + "reports/optimization-r3/shapes-extra.json": { + "bytes": 10717, + "sha256": "aa575c4df44a6dfae77638c6db63a37f9370e67aea59a457ee26611474bf4704" + }, + "reports/optimization-r3/shapes-extra.log": { + "bytes": 6467, + "sha256": "1adf8faccc3dee8ef21f67278266747aee63451e3e406bf0946a5c2333fcb8e9" + }, + "reports/optimization-r3/shapes.json": { + "bytes": 5140, + "sha256": "5c58c2e51efa67f487ea315a386e653f81594b29297d0ce2d6a21747cfae09ba" + }, + "reports/optimization-r3/shapes.log": { + "bytes": 2776, + "sha256": "5aa1f7f59a65f502bed07709a7a43db17a553456d3abb66adb6d5bc66c57ca51" + }, + "reports/optimization-r3/skill-source-audit.json": { + "bytes": 3833, + "sha256": "1acde66c05f3a47ec0b0af37d78136204ba374cccf0aede37ef9481cc00a3ad6" + }, + "reports/optimization-r3/tests.log": { + "bytes": 99, + "sha256": "729220f6c6fae6193d35e9510570c4de0b813d9446f535c41eb6d4fd6c65e2c3" + }, + "reports/optimization-r3/trace-audit.json": { + "bytes": 45219, + "sha256": "181ad4ca517f3e58e4070ee676a0c41207cc3861ee4e8e6b498c11ae401e3edf" + }, + "reports/optimization-r3/wheel-build.log": { + "bytes": 4995, + "sha256": "503fdc93ea909b41acf6a0764e42eabc55892b6a9f5e4b000e21e0c8d1ace973" + }, + "reports/optimization-r3/wheel-cli.json": { + "bytes": 6592, + "sha256": "813384da8643af0ea86432df03aaaab840fbac9f1133e84e9d9497116ef95fd5" + }, + "reports/optimization-r3/wheel-cli.log": { + "bytes": 1631, + "sha256": "6239d24376242a5d6bef5d52c954b316e921b547e09ccde8f07f0313e6efbb9e" + }, + "reports/optimization-r3/wheel-verification.log": { + "bytes": 223, + "sha256": "de8e5b5e73f8669c943a805d5b9a6ab247bda45794973719f215dfa85cf5bcfa" + }, + "reports/optimization-r3/wheel.json": { + "bytes": 2252, + "sha256": "c1d099eeddc6d24c2cbca4e83318cb166c100ba1557115b9872fd3b3116397b8" + }, + "reports/optimization-v2/RESULTS.md": { + "bytes": 19937, + "sha256": "48303a07779049e8b0927ac92e30ebc9946a572e455dee25c1be56198de31c91" + }, + "reports/optimization-v2/approximation-quality.json": { + "bytes": 887, + "sha256": "779737c2af9796e1574439c92b99f8c1eb4840d3feba049b50064e73dc74e1c2" + }, + "reports/optimization-v2/attention-debug.json": { + "bytes": 6047, + "sha256": "e7ee8fae71f8aef93aef495b9c9ff7fa8c6a88285b47b9fd816be5866d4f8030" + }, + "reports/optimization-v2/attention.json": { + "bytes": 13376, + "sha256": "16652d50f911ae8bc9d5f3a7437c44a240416a58988628c847cfbb23268ff7f6" + }, + "reports/optimization-v2/blocks.json": { + "bytes": 7810, + "sha256": "2d5847c22f180c835e6d4a915913157de33017a25f699768fc14bccc5f9aff0f" + }, + "reports/optimization-v2/coreml-vae-b1.json": { + "bytes": 667593, + "sha256": "880c87905a84e0cd089b6d8bbec20664ce5f5eb303c21282ba20a80010c3492a" + }, + "reports/optimization-v2/coreml-vae.json": { + "bytes": 2603358, + "sha256": "c26cc81a444a7ab44d9a1eb6ceeff8f6f4473269387e41bfd5e2fb670cc40c71" + }, + "reports/optimization-v2/coreml.json": { + "bytes": 23634, + "sha256": "f4a94f7a369a881f764af445862a7228b874a0f9b1f922adf24db20bf7327349" + }, + "reports/optimization-v2/fp16-failure.json": { + "bytes": 704, + "sha256": "a47a30edfb18387d4b1b670af2ac7cf7a8a086906b0266211f7ab39df67836c0" + }, + "reports/optimization-v2/loading.json": { + "bytes": 2820, + "sha256": "3e930624c4c5d227373b68c8ef8ae5908c824ac281bc31ce9c425143d481aaff" + }, + "reports/optimization-v2/manifest.json": { + "bytes": 3084, + "sha256": "a274c6b96995f3e22b32c337f1c6c72a120eb774b1dd4714bd9bd71d9af4a508" + }, + "reports/optimization-v2/mpp.json": { + "bytes": 16161, + "sha256": "01535364a926a1496d8616eaa20f37f7b1586b6ffe0e2453e67967abe3cf7404" + }, + "reports/optimization-v2/mps.jsonl": { + "bytes": 3872, + "sha256": "5f27c13eb41ce3940fa29030c4ca1127631a9feb000b8e7e94032381351e6da7" + }, + "reports/optimization-v2/operators.json": { + "bytes": 27861, + "sha256": "4907b2e21cd8b7262aca17f7d3823125d2e29db5233562a6bcf02db994f145ac" + }, + "reports/optimization-v2/storage.json": { + "bytes": 22377, + "sha256": "b731517c1a1025d359a3c030273be4a8b8312612b4935c63e22a83d6343273dc" + }, + "reports/optimization-v2/summary.json": { + "bytes": 13226, + "sha256": "6b8296cba2c122d340bbe74dd109b6e973d948448e245fda26b39c848c846ac5" + }, + "reports/optimization-v2/table.md": { + "bytes": 1720, + "sha256": "8fd7bfe76bad9cc55dc02895d510eddb51138dcc38a1c325ae61de2565fed5fd" + }, + "reports/optimization-v2/torch.json": { + "bytes": 9182, + "sha256": "c60da4254ed252996734add585e80cd479e46a38eb3c43805c578f10aee2cccd" + }, + "reports/optimization-v2/wheel-smoke.json": { + "bytes": 846, + "sha256": "0bc6a8235d7983365ef8a859bcc5608a0451cdfa277caaa61f56bb663887b148" + }, + "reports/tradeoffs.json": { + "bytes": 1897, + "sha256": "b96b25f2444b894af8e12a1ccc41325aa6ffad84472cc499f42ba838c7a25d0f" + }, + "reports/vae/batch-1.json": { + "bytes": 2847, + "sha256": "9f56c3c50da73856c69b5b7d088135070a0b78e0b0007c22db6251757a261ce6" + }, + "reports/vae/batch-16.json": { + "bytes": 2849, + "sha256": "b35b236afb1ed3728a2c9c0d189fdec7beaa5cc496cbaa97f14b7e5c2f59f98d" + }, + "reports/vae/batch-4.json": { + "bytes": 2847, + "sha256": "44be8a3362807a5a2e614e384ba443484c7311f99b5c43a552a431b70b186e37" + }, + "reports/vae/batch-8.json": { + "bytes": 2847, + "sha256": "1ea3594058ab9396a9668c06d110641fbbd684a93b4e41e63ccf5b481603c5ba" + }, + "reports/vae/trials.json": { + "bytes": 2505, + "sha256": "12cb63c9084fe49326fac8478fbcd888b1b08134097a3ef227faa66816a0b10e" + }, + "requirements-macos.lock": { + "bytes": 776, + "sha256": "5b92ffe60fc83270965b80ac7fb8f08d60243695cc6ca6d98568142de3e67325" + }, + "scripts/prepare_hf_release.py": { + "bytes": 15960, + "sha256": "f77fa88572aac36e94268ff74c6c3104205b8095f84e0215b3f6e50fa68e589f" + }, + "scripts/publish_hf_release.py": { + "bytes": 13179, + "sha256": "34a4a0b36b3c937b15685643362ed6d39ffa5716a69e1499ce0596e02dd44e70" + }, + "tests/test_compilation.py": { + "bytes": 2195, + "sha256": "4d060d4f1cd7576f34d186c99d2a0cbc17627c1d3ac6f17385cbe7e3c662e5a8" + }, + "tests/test_conversion.py": { + "bytes": 2026, + "sha256": "411b571336dbab4d6c46074a67f1894318d5ccadebbef49c84c4b0d778169a87" + }, + "tests/test_embedding_rows.py": { + "bytes": 1506, + "sha256": "f360d55fd4933d8ecc637c18d679bba8575f653ee5c216a2f89c144951ac9668" + }, + "tests/test_hub.py": { + "bytes": 7558, + "sha256": "d24dfc678c126b04cf22ddbf668d7f1af86e3d7ad34c40f5a93ecf7ecd8cde75" + }, + "tests/test_numerics.py": { + "bytes": 6783, + "sha256": "373eb2f050ae101316dfd3a5f8a86eb74ceda98e180690b5c22094b4aad106dc" + }, + "tests/test_packed.py": { + "bytes": 1604, + "sha256": "0481ae241cd78bb4803a53aac96468d65e376a8785826ad4b9665612985db737" + }, + "tests/test_refiner_cache.py": { + "bytes": 1688, + "sha256": "3d975c227d0a7b796123eddda80eb0d59f2b626aed1be85555f1bfed2dc153d8" + }, + "tests/test_release_guards.py": { + "bytes": 1462, + "sha256": "6cd89e47699bee2caf0daabc2bec086ecdc7b28b45029fe9e9531045e5d73ac4" + }, + "tests/test_runtime_guard.py": { + "bytes": 1445, + "sha256": "22109167307119b5773b0e64a6f55b262e9d0fe71fc63d7ab4b6278c2c018eaf" + }, + "tests/test_tuning.py": { + "bytes": 3039, + "sha256": "2dd8d15d485119af1c76de1af5e3c4b8386f8e9b43ed4f7f6a78c92aa8692752" + }, + "tests/test_vae_compare.py": { + "bytes": 3530, + "sha256": "8f9d9b858325a91f6169bf7b4ca417f4e9f17ad8c1621a303256ecfb00d72886" + } + } +} diff --git a/h3_mlx/__init__.py b/h3_mlx/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..04a4cb6d8495507dada8c5648813a627e3eefec8 --- /dev/null +++ b/h3_mlx/__init__.py @@ -0,0 +1,11 @@ +"""MiniMax H3 Image, implemented in MLX. Heavy dependencies load on demand.""" + +import os + +# M5's default reduced-precision FP32 GEMM/attention path changes the model's +# precision islands. Set these before importing MLX; explicit user overrides +# remain possible and are recorded in every inference report. +os.environ.setdefault("MLX_ENABLE_TF32", "0") +os.environ.setdefault("MLX_CONV_WINOGRAD", "0") + +__version__ = "0.4.0" diff --git a/h3_mlx/__main__.py b/h3_mlx/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..4e28416e104515e90fca4b69cc60d0c61fd15d61 --- /dev/null +++ b/h3_mlx/__main__.py @@ -0,0 +1,3 @@ +from .cli import main + +main() diff --git a/h3_mlx/benchmark.py b/h3_mlx/benchmark.py new file mode 100644 index 0000000000000000000000000000000000000000..39fcfaabd49b9980274e484be3a24ac2ab533118 --- /dev/null +++ b/h3_mlx/benchmark.py @@ -0,0 +1,203 @@ +"""Synchronized operator experiments on real H3 dimensions, with numerical error.""" + +from __future__ import annotations + +import argparse +import gc +import json +import statistics +import time +from pathlib import Path + +import mlx.core as mx + +from .kernels import norm_modulate, qk_norm_rope +from .ops import attention, modulate, rms_norm, rotate +from .runtime import configure_memory, environment + + +def measure(fn, *, warmup=2, repeats=7): + for _ in range(warmup): + mx.eval(fn()) + samples = [] + for _ in range(repeats): + mx.synchronize() + tick = time.perf_counter() + mx.eval(fn()) + mx.synchronize() + samples.append((time.perf_counter() - tick) * 1000) + return { + "median_ms": statistics.median(samples), + "min_ms": min(samples), + "max_ms": max(samples), + "samples_ms": samples, + } + + +def error(reference, candidate): + a, b = reference.astype(mx.float32), candidate.astype(mx.float32) + diff = a - b + return { + "max_abs": mx.max(mx.abs(diff)).item(), + "relative_rmse": mx.sqrt( + mx.mean(diff * diff) / (mx.mean(a * a) + 1e-30) + ).item(), + "equal_fraction": mx.mean((a == b).astype(mx.float32)).item(), + } + + +def run(output, *, tokens=(256, 4096), repeats=7): + configure_memory() + mx.random.seed(731) + result = { + "environment": environment(), + "warmup": 2, + "repeats": repeats, + "scope": "Synthetic operator microbenchmarks; excludes loading/quantization. Not image latency.", + "trials": [], + } + + def record(group, variant, shape, fn, reference): + data = { + "operator": group, + "variant": variant, + "shape": shape, + **measure(fn, repeats=repeats), + **error(reference, fn()), + } + result["trials"].append(data) + print(json.dumps(data), flush=True) + # Persist each completed trial so interrupted sweeps retain evidence. + Path(output).parent.mkdir(parents=True, exist_ok=True) + Path(output).write_text(json.dumps(result, indent=2) + "\n") + + for n in tokens: + x = mx.random.normal((n, 5376)).astype(mx.bfloat16) + w = mx.random.normal((5376,)).astype(mx.bfloat16) + shift = (mx.random.normal((3, 5376)) * 0.1).astype(mx.bfloat16) + scale = (mx.random.normal((3, 5376)) * 0.1).astype(mx.bfloat16) + ids = mx.arange(n, dtype=mx.int32) % 3 + mx.eval(x, w, shift, scale, ids) + ref = modulate(x, w, shift, scale, ids) + mx.eval(ref) + record( + "rms_adaln", + "native_rounding", + [n, 5376], + lambda x=x, w=w, shift=shift, scale=scale, ids=ids: modulate( + x, w, shift, scale, ids + ), + ref, + ) + for threads in (128, 256, 512): + record( + "rms_adaln", + f"metal_tg{threads}", + [n, 5376], + lambda x=x, w=w, shift=shift, scale=scale, ids=ids, threads=threads: ( + norm_modulate(x, w, shift, scale, ids, threads=threads) + ), + ref, + ) + qkv = mx.random.normal((n, 3, 56, 128)).astype(mx.bfloat16) + qw = mx.random.normal((128,)).astype(mx.bfloat16) + angles = mx.random.normal((1, n, 1, 48)) + angles = mx.concatenate((angles, angles), axis=-1) + cos, sin = ( + mx.cos(angles).astype(mx.bfloat16), + mx.sin(angles).astype(mx.bfloat16), + ) + + def native_qk(qkv=qkv, qw=qw, cos=cos, sin=sin): + return tuple( + rotate(rms_norm(qkv[None, :, i], qw), cos, sin) for i in (0, 1) + ) + + def fused_qk(qkv=qkv, qw=qw, cos=cos, sin=sin): + return qk_norm_rope(qkv, qw, qw, cos, sin) + + qr, kr = native_qk() + both = mx.concatenate((qr, kr), axis=0) + mx.eval(both) + record( + "qk_norm_rope", + "native", + [n, 56, 128], + lambda fn=native_qk: mx.concatenate(fn(), axis=0), + both, + ) + record( + "qk_norm_rope", + "metal", + [n, 56, 128], + lambda fn=fused_qk: mx.concatenate(fn(), axis=0), + both, + ) + del qkv, qw, angles, cos, sin, qr, kr, both, native_qk, fused_qk + mx.clear_cache() + for k, out in ((5376, 21504), (5376, 28672), (14336, 5376)): + a = mx.random.normal((n, k)).astype(mx.bfloat16) + weight = (mx.random.normal((out, k)) * 0.02).astype(mx.bfloat16) + mx.eval(a, weight) + baseline = a @ weight.T + mx.eval(baseline) + record( + "gemm", + "bf16", + [n, k, out], + lambda a=a, weight=weight: a @ weight.T, + baseline, + ) + for bits in (8, 4): + for size in (32, 64, 128): + q, s, z = mx.quantize(weight, bits=bits, group_size=size) + mx.eval(q, s, z) + record( + "gemm", + f"q{bits}_g{size}", + [n, k, out], + lambda a=a, q=q, s=s, z=z, size=size, bits=bits: ( + mx.quantized_matmul( + a, q, s, z, transpose=True, group_size=size, bits=bits + ) + ), + baseline, + ) + del a, weight, baseline, q, s, z + gc.collect() + mx.clear_cache() + q = mx.random.normal((1, n, 56, 128)).astype(mx.bfloat16) + k = mx.random.normal(q.shape).astype(mx.bfloat16) + v = mx.random.normal(q.shape).astype(mx.bfloat16) + mx.eval(q, k, v) + baseline = attention(q, k, v) + mx.eval(baseline) + for chunk in (0, 128, 512, 1024): + record( + "sdpa", + f"query_chunk_{chunk}", + list(q.shape), + lambda q=q, k=k, v=v, chunk=chunk: attention( + q, k, v, query_chunk=chunk + ), + baseline, + ) + del q, k, v, baseline, x, w, shift, scale, ids, ref + gc.collect() + mx.clear_cache() + return result + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--output", default="reports/operators.json") + p.add_argument("--tokens", type=int, nargs="+", default=[256, 4096]) + p.add_argument("--repeats", type=int, default=7) + a = p.parse_args() + if a.repeats < 1 or any(n < 1 for n in a.tokens): + p.error("tokens and repeats must be positive") + run(a.output, tokens=a.tokens, repeats=a.repeats) + + +if __name__ == "__main__": + main() diff --git a/h3_mlx/cli.py b/h3_mlx/cli.py new file mode 100644 index 0000000000000000000000000000000000000000..b613509c365fe306f3a3f2f8ec4038e77989a64a --- /dev/null +++ b/h3_mlx/cli.py @@ -0,0 +1,273 @@ +from __future__ import annotations + +import argparse +import json +import logging +from pathlib import Path + + +def model_arguments(parser): + parser.add_argument( + "--model", + required=True, + help="Downloaded variant or original image model directory", + ) + parser.add_argument( + "--text-encoder", + required=True, + help="Original MiniMax-H3/text_encoder directory", + ) + parser.add_argument("--cache-dir", default="cache") + + +def main(argv=None): + parser = argparse.ArgumentParser( + prog="h3-mlx", description="MiniMax H3 Image on MLX/Metal" + ) + parser.add_argument("--verbose", action="store_true") + sub = parser.add_subparsers(dest="command", required=True) + sub.add_parser( + "doctor", help="Report Metal availability, memory and installed versions" + ) + download = sub.add_parser( + "download", help="Download one variant and shared components" + ) + download.add_argument( + "--variant", choices=("bf16", "packed12", "q8", "q4"), default="packed12" + ) + download.add_argument("--model-dir", required=True) + download.add_argument( + "--text-encoder-path", help="Reuse an existing text encoder directory" + ) + download.add_argument("--skip-text-encoder", action="store_true") + download.add_argument("--local-files-only", action="store_true") + download.add_argument("--catalog", help="Use an alternate release catalog JSON") + download.add_argument( + "--verify", action="store_true", help="Rehash all downloaded model files" + ) + generate = sub.add_parser("generate", help="Run six native PDD steps locally") + model_arguments(generate) + generate.add_argument("prompt") + generate.add_argument("--width", type=int, default=2048) + generate.add_argument("--height", type=int, default=2048) + generate.add_argument("--seed", type=int, default=731) + generate.add_argument("--min-generation-area", type=int, default=4194304) + generate.add_argument( + "--rng", + choices=("torch", "mlx"), + default="torch", + help="torch CPU matches original native noise; mlx is a different seed stream", + ) + generate.add_argument("--output", default="outputs/image.png") + generate.add_argument( + "--image", + action="append", + default=[], + help="Ordered edit reference; repeat up to sixteen times", + ) + generate.add_argument("--dit-cache-gb", type=float, default=38) + generate.add_argument( + "--quantize", + type=int, + choices=(4, 8), + help="Experimental weight-only DiT quantization; AdaLN/FP32 islands stay native", + ) + generate.add_argument("--encoder-quantize", type=int, choices=(4, 8)) + generate.add_argument("--group-size", type=int, choices=(32, 64, 128), default=64) + generate.add_argument("--mlp-chunk", type=int, default=0) + generate.add_argument( + "--attention-chunk", + type=int, + default=0, + help="0 uses one memory-efficient Metal SDPA call", + ) + generate.add_argument( + "--kernel", + choices=("native", "metal", "metal-qk", "metal-exact", "metal-qk-exact"), + default="native", + help="metal-exact fuses M5 norms and Q/K/RoPE; metal-qk-exact keeps native full-width norms. Both retain native fallback", + ) + generate.add_argument( + "--tune-matmul", + action="store_true", + help="Use measured M5 BF16 FC2 tiles for 4096–8192 joint tokens; native fallback otherwise", + ) + generate.add_argument( + "--norm-threads", type=int, choices=(128, 256, 512), default=256 + ) + generate.add_argument("--vae-batch", type=int, default=1) + generate.add_argument("--compile-vae", action="store_true") + generate.add_argument("--vae-backend", choices=("mlx", "coreml"), default="mlx") + generate.add_argument( + "--coreml-package", + help="Fixed-tile decoder exported by experiments.v2_coreml_vae", + ) + generate.add_argument( + "--coreml-compute-units", + choices=("CPU_ONLY", "CPU_AND_GPU", "CPU_AND_NE", "ALL"), + default="CPU_AND_GPU", + ) + generate.add_argument( + "--vae-dtype", choices=("bfloat16", "float32"), default="bfloat16" + ) + generate.add_argument( + "--experimental-steps", help="Original head indices, e.g. 0,2,4; changes images" + ) + generate.add_argument("--save-trace", action="store_true") + generate.add_argument( + "--no-refiner-cache", + action="store_true", + help="Recompute refined conditioning instead of using its exact disk cache", + ) + generate.add_argument( + "--prefetch-blocks", + type=int, + default=0, + help="Overlap weight loading with GPU work, with at most N blocks in flight", + ) + generate.add_argument( + "--async-blocks", + action="store_true", + help="Enqueue each block asynchronously; use --eval-every to bound in-flight work", + ) + generate.add_argument( + "--compile-blocks", + action="store_true", + help="Compile each DiT block and fuse elementwise operators", + ) + generate.add_argument( + "--eval-every", + type=int, + default=1, + help="Synchronize every N DiT blocks; 0 evaluates the whole step", + ) + generate.add_argument( + "--keep-refiners", + action="store_true", + help="Retain token-refiner weights across resident requests", + ) + generate.add_argument( + "--wired-gb", + type=float, + help="Process-local MLX wired memory; capped at Metal's recommended set", + ) + generate.add_argument( + "--weight-storage", + choices=("bf16", "packed12"), + default="bf16", + help="packed12 caches exact BF16 weights in a smaller representation", + ) + generate.add_argument( + "--quantized-core", help="Preconverted DiT core from python -m h3_mlx.convert" + ) + generate.add_argument( + "--offload-after-denoise", + action="store_true", + help="Release DiT before VAE for smaller-memory Macs", + ) + args = parser.parse_args(argv) + logging.basicConfig( + level=logging.DEBUG if args.verbose else logging.INFO, + format="%(asctime)s %(message)s", + datefmt="%H:%M:%S", + ) + if args.command == "download": + from .hub import download_variant + + result = download_variant( + args.variant, + args.model_dir, + encoder_path=args.text_encoder_path, + skip_encoder=args.skip_text_encoder, + local_files_only=args.local_files_only, + catalog_path=args.catalog, + verify=args.verify, + ) + print(json.dumps(result, indent=2)) + return + if args.command == "doctor": + from .runtime import configure_memory, environment + + configure_memory() + print(json.dumps(environment(), indent=2)) + return + if args.command == "generate": + for p in (args.model, args.text_encoder): + if not Path(p).is_dir(): + parser.error(f"Model directory does not exist: {p}") + if ( + args.mlp_chunk < 0 + or args.attention_chunk < 0 + or args.vae_batch < 1 + or args.dit_cache_gb < 0 + or args.eval_every < 0 + or args.prefetch_blocks < 0 + ): + parser.error( + "Chunk sizes/cache must be nonnegative and VAE batch must be positive" + ) + if len(args.image) > 16: + parser.error("MiniMax-H3-Image accepts at most sixteen reference images") + steps = ( + None + if args.experimental_steps is None + else [int(s) for s in args.experimental_steps.split(",")] + ) + from .runtime import Pipeline + + pipe = Pipeline( + args.model, + args.text_encoder, + cache_dir=args.cache_dir, + dit_cache_gb=args.dit_cache_gb, + bits=args.quantize, + encoder_bits=args.encoder_quantize, + group_size=args.group_size, + mlp_chunk=args.mlp_chunk, + query_chunk=args.attention_chunk, + kernel=args.kernel, + threads=args.norm_threads, + vae_batch=args.vae_batch, + vae_dtype=args.vae_dtype, + keep_resident=not args.offload_after_denoise, + quantized_path=args.quantized_core, + compile_blocks=args.compile_blocks, + eval_every=args.eval_every, + keep_refiners=args.keep_refiners, + wired_gb=args.wired_gb, + weight_storage=args.weight_storage, + vae_compile=args.compile_vae, + vae_backend=args.vae_backend, + coreml_package=args.coreml_package, + coreml_compute_units=args.coreml_compute_units, + async_blocks=args.async_blocks, + cache_refined_text=not args.no_refiner_cache, + prefetch_blocks=args.prefetch_blocks, + tune_matmul=args.tune_matmul, + ) + _, record = pipe.generate( + args.prompt, + width=args.width, + height=args.height, + seed=args.seed, + min_area=args.min_generation_area, + rng=args.rng, + output=args.output, + images=args.image, + steps=steps, + save_trace=args.save_trace, + ) + print( + json.dumps( + { + "output": record["output"], + "timings": record["timings"], + "memory": record["memory"], + }, + indent=2, + ) + ) + + +if __name__ == "__main__": + main() diff --git a/h3_mlx/compare.py b/h3_mlx/compare.py new file mode 100644 index 0000000000000000000000000000000000000000..55851fca8a7ca935a2698599c8980c2b81b45234 --- /dev/null +++ b/h3_mlx/compare.py @@ -0,0 +1,263 @@ +"""Auditable, matched image stacks. This never synthesizes comparison imagery.""" + +from __future__ import annotations + +import argparse +import hashlib +import html +import json +import math +from pathlib import Path + +import numpy as np +from PIL import Image, ImageDraw, ImageFont + + +def image_metrics(reference, candidate): + a, b = np.asarray(reference.convert("RGB")), np.asarray(candidate.convert("RGB")) + if a.shape != b.shape: + raise ValueError(f"Cannot score different image sizes: {a.shape} vs {b.shape}") + diff = a.astype(np.float64) - b.astype(np.float64) + mse = float(np.mean(diff**2)) + result = { + "pixel_identical": bool(np.array_equal(a, b)), + "mae_8bit": float(np.mean(abs(diff))), + "max_error_8bit": int(np.max(abs(diff))), + "psnr_db": None if mse == 0 else 20 * math.log10(255 / math.sqrt(mse)), + } + try: + from skimage.metrics import structural_similarity + + result["ssim_rgb"] = float( + structural_similarity(a, b, channel_axis=-1, data_range=255) + ) + except ImportError: + result["ssim_rgb"] = None + return result + + +def font(size): + for path in ( + "/System/Library/Fonts/Supplemental/Arial.ttf", + "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", + ): + if Path(path).exists(): + return ImageFont.truetype(path, size) + return ImageFont.load_default(size=size) + + +def _verify_identity(reference_path, candidate_path): + ra, rb = reference_path.with_suffix(".json"), candidate_path.with_suffix(".json") + if not ra.exists() or not rb.exists(): + raise ValueError( + "Every comparison image must have a sibling inference JSON record" + ) + a, b = json.loads(ra.read_text()), json.loads(rb.read_text()) + for key in ( + "prompt", + "seed", + "size", + "canvas", + "rng", + "reference_images", + "sigmas", + ): + if a.get(key) != b.get(key): + raise ValueError(f"Unmatched {key} for {candidate_path}") + if a.get("reference_images") and a.get("reference_sha256") != b.get( + "reference_sha256" + ): + raise ValueError(f"Unmatched reference image contents for {candidate_path}") + if b.get("validation_scope") == "Same final latent; decoder only": + expected = a.get("source_trace_sha256") + if expected is None: + trace = reference_path.with_suffix(".trace.safetensors") + if trace.exists(): + expected = hashlib.sha256(trace.read_bytes()).hexdigest() + if expected is None or expected != b.get("source_trace_sha256"): + raise ValueError(f"Unmatched final latent provenance for {candidate_path}") + return a, b + + +def make_comparison(reference, candidates, destination, *, labels=None, crop=None): + reference, destination = Path(reference), Path(destination) + destination.mkdir(parents=True, exist_ok=True) + paths = [reference, *map(Path, candidates)] + labels = labels or [p.stem for p in paths] + if len(labels) != len(paths): + raise ValueError("One label per image is required, including the reference") + images = [Image.open(p).convert("RGB") for p in paths] + records = [json.loads(reference.with_suffix(".json").read_text())] + for p in paths[1:]: + _, row = _verify_identity(reference, p) + records.append(row) + metrics = [image_metrics(images[0], im) for im in images] + iw, ih = images[0].size + if crop is None: + side = min(512, iw, ih) + crop = ((iw - side) // 2, (ih - side) // 2, (iw + side) // 2, (ih + side) // 2) + if len(crop) != 4 or not ( + 0 <= crop[0] < crop[2] <= iw and 0 <= crop[1] < crop[3] <= ih + ): + raise ValueError("Crop must lie inside the native-resolution image") + preview_width = min(768, iw) + preview_height = round(ih * preview_width / iw) + label_height = 84 + full = Image.new( + "RGB", (preview_width, len(paths) * (preview_height + label_height)), "#10141c" + ) + detail_w, detail_h = crop[2] - crop[0], crop[3] - crop[1] + details = Image.new( + "RGB", (detail_w, len(paths) * (detail_h + label_height)), "#10141c" + ) + heatmap = Image.new( + "RGB", (preview_width, len(paths) * (preview_height + label_height)), "#10141c" + ) + source = np.asarray(images[0]).astype(np.int16) + rows = [] + for i, (p, im, label, metric, record) in enumerate( + zip(paths, images, labels, metrics, records, strict=False) + ): + psnr = ( + "infinity" if metric["psnr_db"] is None else f"{metric['psnr_db']:.2f} dB" + ) + ss = ( + "unavailable" if metric["ssim_rgb"] is None else f"{metric['ssim_rgb']:.5f}" + ) + seconds = record.get("timings", {}).get("total_s") + caption = f"PSNR {psnr} SSIM {ss} MAE {metric['mae_8bit']:.3f}/255" + if record.get("steps"): + caption += f" {len(record['steps'])} passes" + if seconds is not None: + sample = ( + "warm" + if record.get("dit_was_resident") + else "load+run" + if record.get("dit_was_resident") is False + else "recorded" + ) + caption += f" {sample} {seconds:.2f}s" + elif record.get("timing_scope") and any( + k.startswith("step_") for k in record.get("timings", {}) + ): + core = sum(v for k, v in record["timings"].items() if k.startswith("step_")) + caption += f" DiT {core:.2f}s" + elif record.get("timing_scope") and "decode_s" in record.get("timings", {}): + caption += f" decoder {record['timings']['decode_s']:.2f}s" + for canvas, stride in ( + (full, preview_height + label_height), + (details, detail_h + label_height), + (heatmap, preview_height + label_height), + ): + draw = ImageDraw.Draw(canvas) + draw.text((12, i * stride + 10), label, font=font(19), fill="white") + draw.text((12, i * stride + 43), caption, font=font(13), fill="#b9c8dc") + full.paste( + im.resize((preview_width, preview_height), Image.Resampling.LANCZOS), + (0, i * (preview_height + label_height) + label_height), + ) + details.paste(im.crop(crop), (0, i * (detail_h + label_height) + label_height)) + error = np.minimum( + 255, np.abs(np.asarray(im).astype(np.int16) - source) * 8 + ).astype(np.uint8) + heatmap.paste( + Image.fromarray(error).resize((preview_width, preview_height)), + (0, i * (preview_height + label_height) + label_height), + ) + rows.append( + { + "label": label, + "image": str(p.resolve()), + "png_sha256": hashlib.sha256(p.read_bytes()).hexdigest(), + **metric, + "timings": record.get("timings"), + "steps": record.get("steps"), + "timing_scope": record.get("timing_scope", "Fresh end-to-end request"), + } + ) + full.save(destination / "stack.png") + details.save(destination / "details.png") + heatmap.save(destination / "difference-x8.png") + # Side-by-side rows make small losses much easier to inspect than scrolling + # a tall stack. Keep the original stacks and exact native-resolution crops. + columns = min(3, len(paths)) + grid_rows = math.ceil(len(paths) / columns) + grid_w = min(512, iw) + grid_h = round(ih * grid_w / iw) + for filename, panels, pw, ph in ( + ( + "grid.png", + [im.resize((grid_w, grid_h), Image.Resampling.LANCZOS) for im in images], + grid_w, + grid_h, + ), + ("details-grid.png", [im.crop(crop) for im in images], detail_w, detail_h), + ): + grid = Image.new( + "RGB", (columns * pw, grid_rows * (ph + label_height)), "#10141c" + ) + draw = ImageDraw.Draw(grid) + for i, (panel, label, metric) in enumerate( + zip(panels, labels, metrics, strict=False) + ): + gx, gy = (i % columns) * pw, (i // columns) * (ph + label_height) + draw.text((gx + 12, gy + 10), label, font=font(18), fill="white") + ss = "n/a" if metric["ssim_rgb"] is None else f"{metric['ssim_rgb']:.5f}" + draw.text( + (gx + 12, gy + 42), + f"SSIM {ss} MAE {metric['mae_8bit']:.3f}/255", + font=font(14), + fill="#b9c8dc", + ) + grid.paste(panel, (gx, gy + label_height)) + grid.save(destination / filename) + scope = records[0].get("validation_scope", "Complete image inference") + if any( + r.get("validation_scope") == "Same final latent; decoder only" for r in records + ): + scope = "Same final latent; decoder-only comparison. Source-generation and decoder-only timings have different scopes." + if records[0].get("source_record"): + scope = "Cross-backend comparison: hardware and VAE quality settings differ. Timings do not isolate a port speedup." + report = { + "validation_scope": scope, + "reference": str(reference.resolve()), + "native_size": [iw, ih], + "crop_xyxy": list(crop), + "heatmap_gain": 8, + "metric_definition": { + "psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity", + "ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window", + "mae": "Full-resolution mean absolute 8-bit RGB error", + }, + "rows": rows, + "interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality.", + } + (destination / "metrics.json").write_text(json.dumps(report, indent=2) + "\n") + title = html.escape(reference.stem) + page = f""" +{title} — H3 MLX precision comparison +

{title}: matched precision comparison

Same prompt, seed, noise generator, size and edit references. Each row names its configuration. Fewer steps are a separate approximation. Full frames are resized for display; detail crops use identical native pixels.

+

{html.escape(scope)}

+

PSNR/SSIM describe similarity to the reference trajectory. They do not establish visual quality or prompt accuracy. Raw measurements.

+

Side-by-side frames

Matched images side by side +

Side-by-side native detail

Identical native-resolution crop coordinates +

Full frames

1:1 detail crops

Absolute RGB difference ×8

""" + (destination / "index.html").write_text(page) + return report + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--reference", required=True) + p.add_argument("--candidate", action="append", required=True) + p.add_argument("--label", action="append", help="One per image: reference first") + p.add_argument("--crop", type=int, nargs=4) + p.add_argument("--output", required=True) + args = p.parse_args() + make_comparison( + args.reference, args.candidate, args.output, labels=args.label, crop=args.crop + ) + + +if __name__ == "__main__": + main() diff --git a/h3_mlx/config.py b/h3_mlx/config.py new file mode 100644 index 0000000000000000000000000000000000000000..ea664926951c5fee95834d3d8c38f79b6ffe2ecc --- /dev/null +++ b/h3_mlx/config.py @@ -0,0 +1,61 @@ +from __future__ import annotations + +import json +import math +from dataclasses import dataclass, fields +from pathlib import Path + +SIGMAS = ( + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0, +) + + +@dataclass(frozen=True) +class DiTConfig: + hidden_size: int = 5376 + num_layers: int = 50 + token_refiner_num_layers: int = 2 + num_attention_heads: int = 56 + attention_head_dim: int = 128 + ffn_hidden_size: int = 14336 + latents_dim: int = 24 + text_dim: int = 5120 + timestep_input_dim: int = 256 + time_embed_dim: int = 2688 + norm_eps: float = 1e-5 + qk_norm_eps: float = 1e-5 + final_norm_eps: float = 1e-5 + + @classmethod + def load(cls, path): + data = json.loads(Path(path).read_text()) + if data.get("audio_enabled", False): + raise ValueError("Use the audio-free MiniMax-H3-Image checkpoint") + if tuple(data.get("patch_size", (1, 2, 2))) != (1, 2, 2): + raise ValueError("This image runtime requires patch_size [1,2,2]") + return cls(**{f.name: data[f.name] for f in fields(cls) if f.name in data}) + + +def canvas_size(width: int, height: int, min_area: int = 4194304): + if isinstance(width, bool) or isinstance(height, bool) or width < 32 or height < 32: + raise ValueError("width and height must be at least 32") + if not 1024 <= min_area <= 16777216: + raise ValueError("min_generation_area must be between 1024 and 16777216") + scale = max(1.0, math.sqrt(min_area / (width * height))) + return tuple(max(32, round(d * scale / 32) * 32) for d in (width, height)) + + +def load_sigmas(model_path): + data = json.loads((Path(model_path) / "pdd_config.json").read_text()) + sigmas = tuple(float(x) for x in data["sigmas"]) + if len(sigmas) != 7 or sigmas[0] != 1 or sigmas[-1] != 0: + raise ValueError("Expected the native six-step PDD schedule") + if any(a <= b for a, b in zip(sigmas, sigmas[1:], strict=False)): + raise ValueError("PDD sigmas must be strictly decreasing") + return sigmas diff --git a/h3_mlx/convert.py b/h3_mlx/convert.py new file mode 100644 index 0000000000000000000000000000000000000000..32d4cfd99e63f84200cd019097e405802061cad3 --- /dev/null +++ b/h3_mlx/convert.py @@ -0,0 +1,113 @@ +"""Convert attention/MLP matrices one block at a time, retaining native precision islands.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import logging +from pathlib import Path + +import mlx.core as mx + +from .config import DiTConfig +from .runtime import configure_memory +from .weights import Linear, WeightStore + +log = logging.getLogger(__name__) + + +def convert(model_path, destination, *, bits=8, group_size=64): + configure_memory() + model_path, destination = Path(model_path), Path(destination) + cfg = DiTConfig.load(model_path / "transformer/config.json") + source = WeightStore(model_path / "transformer") + if destination.exists() and any(destination.iterdir()): + raise FileExistsError(f"Conversion destination must be empty: {destination}") + destination.mkdir(parents=True, exist_ok=True) + prefixes = [f"blocks.{i}" for i in range(cfg.num_layers)] + prefixes += [ + f"token_refiner.blocks.{i}" for i in range(cfg.token_refiner_num_layers) + ] + metadata = { + "format": "h3-mlx-core-v1", + "bits": bits, + "group_size": group_size, + "qkv_layout": "qkv-head-dim", + "source_fingerprint": source.fingerprint(), + "source_config_sha256": hashlib.sha256( + (model_path / "transformer/config.json").read_bytes() + ).hexdigest(), + "precision_policy": "Only BF16 attention/MLP matrices quantized; AdaLN and FP32 islands remain in the original checkpoint", + } + files = [] + for i, prefix in enumerate(prefixes): + tensors = {} + for name in ( + "norm1.weight", + "norm2.weight", + "attn.q_norm.weight", + "attn.k_norm.weight", + ): + tensors[f"{prefix}.{name}"] = source.get(f"{prefix}.{name}") + for name in ("attn.qkv_proj", "attn.out_proj", "mlp.fc1", "mlp.fc2"): + grouped = ( + (cfg.num_attention_heads, cfg.attention_head_dim) + if name == "attn.qkv_proj" + else None + ) + layer = Linear.load( + source, + f"{prefix}.{name}", + bits=bits, + group_size=group_size, + grouped_heads=grouped, + ) + for suffix, value in ( + ("weight", layer.weight), + ("scales", layer.scales), + ("biases", layer.qbiases), + ("bias", layer.bias), + ): + if value is not None: + tensors[f"{prefix}.{name}.{suffix}"] = value + del layer + mx.eval(tensors) + file = destination / f"core-{i:03d}.safetensors" + tmp = file.with_suffix(".tmp.safetensors") + mx.save_safetensors(str(tmp), tensors) + tmp.replace(file) + digest = hashlib.sha256() + with file.open("rb") as handle: + for data in iter(lambda: handle.read(8 * 1024**2), b""): + digest.update(data) + files.append( + { + "file": file.name, + "bytes": file.stat().st_size, + "sha256": digest.hexdigest(), + } + ) + del tensors + mx.clear_cache() + log.info("Converted block %d/%d", i + 1, len(prefixes)) + metadata["files"] = files + (destination / "quantization.json").write_text( + json.dumps(metadata, indent=2) + "\n" + ) + return metadata + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("--model", required=True) + p.add_argument("--output", required=True) + p.add_argument("--bits", type=int, choices=(4, 8), default=8) + p.add_argument("--group-size", type=int, choices=(32, 64, 128), default=64) + a = p.parse_args() + logging.basicConfig(level=logging.INFO) + convert(a.model, a.output, bits=a.bits, group_size=a.group_size) + + +if __name__ == "__main__": + main() diff --git a/h3_mlx/coreml_vae.py b/h3_mlx/coreml_vae.py new file mode 100644 index 0000000000000000000000000000000000000000..cb7363c74127e837a1a2113531abf3d8144dfdde --- /dev/null +++ b/h3_mlx/coreml_vae.py @@ -0,0 +1,93 @@ +"""Optional fixed-tile Core ML decoder with the native MLX tile assembly. + +Core ML uses FP16 internally. This is an explicitly approximate alternative to +the native BF16 decoder; use the saved-latent image comparisons before choosing. +""" + +from __future__ import annotations + +from pathlib import Path + +import mlx.core as mx +import numpy as np + +from .vae import VAE + + +class CoreMLVAE(VAE): + @staticmethod + def validate_metadata(meta, source_fingerprint, tile_batch): + if meta.get("h3.decoder.format") != "h3-coreml-tile-v1": + raise ValueError("This ML Package lacks H3 decoder provenance metadata") + if meta.get("h3.decoder.source") != source_fingerprint: + raise ValueError( + "Core ML decoder does not match this source VAE checkpoint" + ) + fixed_batch = int(meta["h3.decoder.batch"]) + if tile_batch != fixed_batch: + raise ValueError(f"ML Package was exported for --vae-batch {fixed_batch}") + return fixed_batch + + def __init__( + self, + path, + *, + package, + compute_units="CPU_AND_GPU", + tile_batch=8, + dtype="bfloat16", + compile_blocks=False, + ): + if dtype != "bfloat16": + raise ValueError( + "Core ML tile assembly currently requires the native BF16 policy" + ) + import coremltools as ct + + super().__init__(path, tile_batch=tile_batch, dtype=dtype) + self.package = Path(package) + self.model = ct.models.MLModel( + str(self.package), + compute_units=getattr(ct.ComputeUnit, compute_units), + optimization_hints={ + "specializationStrategy": ct.SpecializationStrategy.FastPrediction + }, + ) + meta = self.model.user_defined_metadata + self.fixed_batch = self.validate_metadata( + meta, self.store.fingerprint(), tile_batch + ) + + def decode_tiles(self, raw): + if raw.shape[1:] != (24, 16, 16) or raw.shape[0] > self.fixed_batch: + raise ValueError( + "Core ML export requires native 256px tiles and its fixed batch size" + ) + count = raw.shape[0] + # BF16 source values are exactly representable by FP16 in the ordinary + # decoder range. Preserve the native input rounding before conversion. + x = raw.astype(mx.bfloat16).astype(mx.float16) + if count < self.fixed_batch: + x = mx.pad(x, ((0, self.fixed_batch - count), (0, 0), (0, 0), (0, 0))) + pixels = self.model.predict({"raw": np.ascontiguousarray(np.asarray(x))})[ + "pixels" + ] + if not np.isfinite(pixels).all(): + raise FloatingPointError("Core ML decoder produced non-finite pixels") + return mx.array(np.ascontiguousarray(pixels[:count])).astype(mx.bfloat16) + + def clear(self): + self.model = None + super().clear() + + +def source_metadata(path, batch): + """Metadata shared with the exporter, without importing the converter.""" + from .weights import WeightStore + + return { + "h3.decoder.format": "h3-coreml-tile-v1", + "h3.decoder.source": WeightStore(path).fingerprint(), + "h3.decoder.batch": str(batch), + "h3.decoder.precision": "Source BF16 weights and inputs, FP16 internal arithmetic, BF16 tile assembly", + } diff --git a/h3_mlx/dit.py b/h3_mlx/dit.py new file mode 100644 index 0000000000000000000000000000000000000000..5587701c95831deee24b0a8ef05157c09b8644d5 --- /dev/null +++ b/h3_mlx/dit.py @@ -0,0 +1,653 @@ +from __future__ import annotations + +import gc +import hashlib +import importlib.metadata +import json +import logging +import math +import os +import time +import uuid +from collections import OrderedDict +from pathlib import Path + +import mlx.core as mx +import numpy as np + +from .config import DiTConfig +from .layout import image_positions, rope_cache +from .ops import attention, gated_add, modulate, rms_norm, rotate, silu, swiglu +from .weights import Linear, WeightStore + +log = logging.getLogger(__name__) + + +class DiTBlock: + def __init__( + self, store, prefix, config, *, bits=None, group_size=64, packed_cache=None + ): + self.config = config + self.n1 = store.get(prefix + ".norm1.weight") + self.n2 = store.get(prefix + ".norm2.weight") + self.qn = store.get(prefix + ".attn.q_norm.weight") + self.kn = store.get(prefix + ".attn.k_norm.weight") + if packed_cache is not None: + from .packed import PackedBF16, PackedLinear + + cache_path = Path(packed_cache) / f"{prefix}.safetensors" + names = ("attn.qkv_proj", "attn.out_proj", "mlp.fc1", "mlp.fc2") + attrs = ("qkv", "out", "fc1", "fc2") + if cache_path.exists(): + data, metadata = mx.load(str(cache_path), return_metadata=True) + if metadata.get("format") != "h3-palette12-v1": + raise ValueError("Unsupported packed checkpoint cache") + shapes = json.loads(metadata["shapes"]) + for attr, name in zip(attrs, names, strict=True): + packed = PackedBF16.from_tensors(data, name, shapes[name]) + setattr(self, attr, PackedLinear(packed, data.get(name + ".bias"))) + mx.eval(data) + return + grouped = (config.num_attention_heads, config.attention_head_dim) + self.qkv = Linear.load( + store, + prefix + ".attn.qkv_proj", + bits=bits, + group_size=group_size, + grouped_heads=grouped, + ) + self.out = Linear.load( + store, prefix + ".attn.out_proj", bits=bits, group_size=group_size + ) + self.fc1 = Linear.load( + store, prefix + ".mlp.fc1", bits=bits, group_size=group_size + ) + self.fc2 = Linear.load( + store, prefix + ".mlp.fc2", bits=bits, group_size=group_size + ) + if packed_cache is not None: + data, shapes = {}, {} + for attr, name in zip(attrs, names, strict=True): + linear = getattr(self, attr) + packed = PackedLinear.from_linear(linear) + setattr(self, attr, packed) + shapes[name] = packed.weight.shape + data.update(packed.weight.tensors(name)) + if packed.bias is not None: + data[name + ".bias"] = packed.bias + cache_path.parent.mkdir(parents=True, exist_ok=True) + temporary = cache_path.with_name( + f".{cache_path.stem}-{uuid.uuid4().hex}.safetensors" + ) + try: + mx.save_safetensors( + str(temporary), + data, + metadata={ + "format": "h3-palette12-v1", + "shapes": json.dumps(shapes), + }, + ) + temporary.replace(cache_path) + finally: + temporary.unlink(missing_ok=True) + + @property + def nbytes(self): + return sum( + x.nbytes + for x in ( + self.n1, + self.n2, + self.qn, + self.kn, + self.qkv, + self.out, + self.fc1, + self.fc2, + ) + ) + + @staticmethod + def project(linear, x, state): + return linear(x) if state is None else linear(x, state=state) + + def attn(self, x, rope, query_chunk, kernel="native", projection_weights=None): + c = self.config + states = (None, None) if projection_weights is None else projection_weights[:2] + qkv = self.project(self.qkv, x, states[0]).reshape( + 1, x.shape[0], 3, c.num_attention_heads, c.attention_head_dim + ) + q, k, v = (qkv[:, :, i] for i in range(3)) + exact_qk = False + if kernel in ("metal-exact", "metal-qk-exact") and rope is not None: + from .tuning import qk_norm_rope_exact, supports_qk + + if supports_qk(qkv[0]): + q, k = qk_norm_rope_exact( + qkv[0], self.qn, self.kn, *rope, c.qk_norm_eps + ) + exact_qk = True + if kernel == "metal-qk" and rope is not None: + from .kernels import qk_norm_rope + + q, k = qk_norm_rope(qkv[0], self.qn, self.kn, *rope, c.qk_norm_eps) + elif not exact_qk: + q = rms_norm(q, self.qn, c.qk_norm_eps) + k = rms_norm(k, self.kn, c.qk_norm_eps) + if rope is not None: + q, k = rotate(q, *rope), rotate(k, *rope) + a = attention(q, k, v, query_chunk=query_chunk).reshape(x.shape[0], -1) + return self.project(self.out, a, states[1]) + + def mlp(self, x, chunk, projection_weights=None): + states = (None, None) if projection_weights is None else projection_weights[2:] + if not chunk or x.shape[0] <= chunk: + return self.project( + self.fc2, swiglu(self.project(self.fc1, x, states[0])), states[1] + ) + result = [] + for start in range(0, x.shape[0], chunk): + out = self.project( + self.fc2, + swiglu(self.project(self.fc1, x[start : start + chunk], states[0])), + states[1], + ) + mx.eval(out) + result.append(out) + return mx.concatenate(result, axis=0) + + def __call__( + self, + x, + *, + params=None, + indices=None, + rope=None, + mlp_chunk=1024, + query_chunk=0, + kernel="native", + threads=256, + projection_weights=None, + ): + c = self.config + if params is None: + x = x + self.attn(rms_norm(x, self.n1, c.norm_eps), None, query_chunk) + return x + self.mlp(rms_norm(x, self.n2, c.norm_eps), mlp_chunk) + shift_a, scale_a, gate_a, shift_m, scale_m, gate_m = params + h = modulate( + x, + self.n1, + shift_a, + scale_a, + indices, + c.norm_eps, + kernel=kernel, + threads=threads, + ) + x = gated_add( + x, + self.attn(h, rope, query_chunk, kernel, projection_weights), + gate_a, + indices, + ) + h = modulate( + x, + self.n2, + shift_m, + scale_m, + indices, + c.norm_eps, + kernel=kernel, + threads=threads, + ) + return gated_add(x, self.mlp(h, mlp_chunk, projection_weights), gate_m, indices) + + +class DiT: + def __init__( + self, + model_path, + *, + cache_dir="cache", + cache_gb=38, + bits=None, + group_size=64, + mlp_chunk=0, + query_chunk=0, + kernel="native", + threads=256, + quantized_path=None, + compile_blocks=False, + eval_every=1, + keep_refiners=False, + weight_storage="bf16", + async_blocks=False, + cache_refined_text=True, + prefetch_blocks=0, + tune_matmul=False, + ): + self.path = Path(model_path) + self.config = DiTConfig.load(self.path / "transformer/config.json") + self.store = WeightStore(self.path / "transformer") + self.core_store = self.store + self.release = None + release_path = self.path / "release.json" + if release_path.exists(): + from .hub import load_release + + self.release = load_release(self.path) + if quantized_path is not None or bits is not None: + raise ValueError( + "Published variants already select their weight precision" + ) + core_format = self.release["core_format"] + if core_format == "quantized": + meta = json.loads((self.path / "core/quantization.json").read_text()) + expected = hashlib.sha256( + (self.path / "transformer/config.json").read_bytes() + ).hexdigest() + if ( + meta.get("format") != "h3-mlx-core-v1" + or meta.get("source_config_sha256") != expected + or meta.get("bits") != self.release["bits"] + or meta.get("group_size") != self.release["group_size"] + ): + raise ValueError("Published quantized core/configuration mismatch") + bits, group_size = meta["bits"], meta["group_size"] + self.core_store = WeightStore(self.path / "core") + elif core_format == "packed12": + weight_storage = "packed12" + if core_format != "packed12" and weight_storage == "packed12": + raise ValueError("Select the packed12 download to use packed storage") + if quantized_path is not None: + meta = json.loads((Path(quantized_path) / "quantization.json").read_text()) + if meta.get("format") != "h3-mlx-core-v1": + raise ValueError("Unsupported quantized checkpoint format") + if meta["source_fingerprint"] != self.store.fingerprint(): + raise ValueError( + "Quantized core does not match this original checkpoint" + ) + if bits is not None and bits != meta["bits"]: + raise ValueError( + "--quantize conflicts with the converted core precision" + ) + bits, group_size = meta["bits"], meta["group_size"] + self.core_store = WeightStore(quantized_path) + self.heads = WeightStore(self.path / "pdd_fused_heads.safetensors") + self.cache_dir = Path(cache_dir) + safe_limit = max( + 0, mx.device_info()["max_recommended_working_set_size"] - 8 * 1024**3 + ) + self.block_limit = min(int(cache_gb * 1024**3), safe_limit) + self.blocks = OrderedDict() + self.block_bytes = 0 + self.bits, self.group_size = bits, group_size + self.mlp_chunk, self.query_chunk, self.kernel, self.threads = ( + mlp_chunk, + query_chunk, + kernel, + threads, + ) + self.metrics = { + "block_load_s": 0.0, + "block_compute_s": 0.0, + "block_loads": 0, + "block_wall_s": 0.0, + } + self.constants = {} + if eval_every < 0: + raise ValueError("eval_every must be nonnegative") + self.compile_blocks = compile_blocks + self.eval_every = eval_every + self.keep_refiners = keep_refiners + self.compiled_blocks = {} + self.async_blocks = async_blocks + self.cache_refined_text = cache_refined_text + self.refiner_cache_hit = False + if prefetch_blocks < 0: + raise ValueError("prefetch_blocks must be nonnegative") + self.prefetch_blocks = prefetch_blocks + self.tune_matmul = tune_matmul + if weight_storage not in ("bf16", "packed12"): + raise ValueError("weight_storage must be bf16 or packed12") + if weight_storage == "packed12" and ( + bits is not None or quantized_path is not None + ): + raise ValueError("Lossless packing cannot be combined with quantization") + self.weight_storage = weight_storage + self.packed_cache = None + if weight_storage == "packed12": + key = hashlib.sha256( + (self.store.fingerprint() + "palette12-v1").encode() + ).hexdigest()[:24] + self.packed_cache = self.cache_dir / f"packed12-{key}" + if self.release is not None: + self.packed_cache = self.path / "core" + for i in range(self.config.num_layers): + if not (self.packed_cache / f"blocks.{i}.safetensors").is_file(): + raise FileNotFoundError(f"Missing published packed block {i}") + + def _constant(self, key): + if key not in self.constants: + self.constants[key] = self.store.get(key) + return self.constants[key] + + def _linear(self, prefix): + # All constants here are deliberately unquantized, including FP32 islands. + if prefix not in self.constants: + self.constants[prefix] = Linear.load(self.store, prefix) + return self.constants[prefix] + + def _block(self, prefix): + if prefix in self.blocks: + self.blocks.move_to_end(prefix) + return self.blocks[prefix] + # Pin a fixed resident subset. A rotating LRU would evict every block + # before its next denoise pass when the whole model does not fit. + before = time.perf_counter() + block = DiTBlock( + self.core_store, + prefix, + self.config, + bits=self.bits, + group_size=self.group_size, + packed_cache=self.packed_cache if prefix.startswith("blocks.") else None, + ) + if self.tune_matmul and prefix.startswith("blocks."): + from .tuning import TunedFC2 + + block.fc2 = TunedFC2(block.fc2) + self.metrics["block_load_s"] += time.perf_counter() - before + self.metrics["block_loads"] += 1 + if self.block_bytes + block.nbytes <= self.block_limit: + self.blocks[prefix] = block + self.block_bytes += block.nbytes + return block + + def prepare_modulation(self, sigmas, *, edit=False): + """Read each 520 MB AdaLN weight once, then discard it permanently. + + A schedule-specific 6x3x6xH table replaces 26 GB of original BF16 + weights. No timestep interpolation or low-rank approximation is used. + """ + c = self.config + times = [1 - s for s in sigmas[:-1]] + ([0.999] if edit else []) + if self.release is not None: + from .hub import validate_modulation + + validate_modulation(self.release, sigmas) + key = "editing" if edit else "generation" + target = self.path / "modulation" / f"{key}.safetensors" + if getattr(self, "modulation_key", None) == str(target): + return + table, metadata = mx.load(str(target), return_metadata=True) + identity = json.loads(metadata.get("identity", "{}")) + if ( + identity.get("times") != times + or identity.get("config") != vars(c) + or identity.get("method") != "bf16-linear-fp32-time" + ): + raise ValueError("Published modulation table identity mismatch") + for i in range(c.num_layers): + if table[f"block.{i}"].shape != (len(times), 3, 6, c.hidden_size): + raise ValueError("Published modulation table dimensions mismatch") + if table["final"].shape != (len(times), 2, c.hidden_size): + raise ValueError("Published final modulation dimensions mismatch") + mx.eval(table) + self.modulation = table + self.modulation_key = str(target) + return + identity = { + "version": 5, + "source": self.store.fingerprint(), + "times": times, + "config": self.config.__dict__, + "mlx": importlib.metadata.version("mlx"), + "tf32": os.environ.get("MLX_ENABLE_TF32"), + "method": "bf16-linear-fp32-time", + } + key = hashlib.sha256(json.dumps(identity, sort_keys=True).encode()).hexdigest()[ + :24 + ] + if getattr(self, "modulation_key", None) == key: + return + target = self.cache_dir / f"adaln-{key}.safetensors" + if target.exists(): + log.info("Loading cached native AdaLN schedule %s", target) + self.modulation = mx.load(str(target)) + mx.eval(self.modulation) + self.modulation_key = key + return + log.info("Precomputing AdaLN: releasing ~26 GB of schedule-only weights") + half = c.timestep_input_dim // 2 + freq = mx.exp(-math.log(10000.0) * mx.arange(half, dtype=mx.float32) / half) + args = mx.array(times, mx.float32)[:, None] * freq[None] + t = mx.concatenate((mx.cos(args), mx.sin(args)), axis=-1) + t = self._linear("time_embedder.proj_out")( + silu(self._linear("time_embedder.proj_in")(t)) + ) + t = silu(t).astype(mx.bfloat16) + mx.eval(t) + table = {} + for i in range(c.num_layers): + prefix = f"blocks.{i}.adaln_proj.linear" + layer = Linear.load(self.store, prefix) + table[f"block.{i}"] = layer(t).reshape(len(times), 3, 6, c.hidden_size) + mx.eval(table[f"block.{i}"]) + del layer + if (i + 1) % 10 == 0: + log.info("AdaLN %d/%d", i + 1, c.num_layers) + mx.clear_cache() + layer = Linear.load(self.store, "final_layer.adaln_proj.linear") + table["final"] = layer(t).reshape(len(times), 2, c.hidden_size) + mx.eval(table) + self.cache_dir.mkdir(parents=True, exist_ok=True) + tmp = target.with_suffix(".tmp.safetensors") + mx.save_safetensors( + str(tmp), table, metadata={"identity": json.dumps(identity)} + ) + tmp.replace(target) + self.modulation = table + self.modulation_key = key + mx.clear_cache() + + def refine(self, text): + self.refiner_cache_hit = False + if self.cache_refined_text: + identity = { + "format": "h3-refined-text-v1", + "source": self.store.fingerprint(), + "core_source": self.core_store.fingerprint(), + "weight_storage": self.weight_storage, + "config": vars(self.config), + "bits": self.bits, + "group_size": self.group_size, + "mlp_chunk": self.mlp_chunk, + "query_chunk": self.query_chunk, + "mlx": importlib.metadata.version("mlx"), + "tf32": os.environ.get("MLX_ENABLE_TF32"), + "text_shape": text.shape, + "text_sha256": hashlib.sha256( + np.asarray(text.astype(mx.bfloat16).view(mx.uint16)).tobytes() + ).hexdigest(), + } + key = hashlib.sha256( + json.dumps(identity, sort_keys=True).encode() + ).hexdigest()[:24] + target = self.cache_dir / f"refined-{key}.safetensors" + if target.exists(): + x = mx.load(str(target))["hidden"] + mx.eval(x) + self.refiner_cache_hit = True + return x + x = self._linear("condition_proj")(text.astype(mx.bfloat16)) + for i in range(self.config.token_refiner_num_layers): + block = self._block(f"token_refiner.blocks.{i}") + x = block(x, mlp_chunk=self.mlp_chunk, query_chunk=self.query_chunk) + mx.eval(x) + x = rms_norm( + x, + self._constant("token_refiner.final_norm.weight"), + self.config.final_norm_eps, + ) + mx.eval(x) + if self.cache_refined_text: + target.parent.mkdir(parents=True, exist_ok=True) + temporary = target.with_name( + f".{target.stem}-{uuid.uuid4().hex}.safetensors" + ) + try: + mx.save_safetensors( + str(temporary), + {"hidden": x}, + metadata={"identity": json.dumps(identity)}, + ) + temporary.replace(target) + finally: + temporary.unlink(missing_ok=True) + # Refiners run only once. Free their ~1.5 GB for the fifty main blocks. + for key in list(self.blocks): + if key.startswith("token_refiner.") and not self.keep_refiners: + old = self.blocks.pop(key) + self.block_bytes -= old.nbytes + del old + mx.clear_cache() + return x + + def predict( + self, rows, text, step, h, w, *, references=(), text_tags=None, on_layer=None + ): + ntext = text.shape[0] + nref = sum(rh * rw // 4 for rh, rw in references) + x = mx.concatenate( + (text, self._linear("video_patch_proj")(rows).astype(mx.bfloat16)), axis=0 + ) + positions = image_positions(ntext, h, w, references) + rope = rope_cache(positions, self._constant("rope.inv_freq")) + tags = mx.concatenate( + ( + mx.ones(ntext, mx.int32) if text_tags is None else text_tags, + mx.zeros(rows.shape[0], mx.int32), + ) + ) + # Table has current timestep for every modality; editing adds the fixed .999 anchor. + time_ids = mx.concatenate( + ( + mx.zeros(ntext, mx.int32), + mx.full(nref, len(self.modulation["final"]) - 1, mx.int32), + mx.zeros(rows.shape[0] - nref, mx.int32), + ) + ) + loop_start = time.perf_counter() + loads_before = self.metrics["block_load_s"] + prefetch = self.prefetch_blocks and any( + f"blocks.{i}" not in self.blocks for i in range(self.config.num_layers) + ) + sync_every = self.prefetch_blocks if prefetch else self.eval_every + for i in range(self.config.num_layers): + block = self._block(f"blocks.{i}") + table = self.modulation[f"block.{i}"] + # Select current and condition timestep as a compact [6,6,H] table. + current = table[step] + if references: + compact = mx.concatenate((current, table[-1]), axis=0) + indices = mx.where(time_ids > 0, tags + 3, tags) + else: + compact, indices = current, tags + params = tuple(compact[:, j] for j in range(6)) + if self.compile_blocks: + # One compiled callable per resident block; parameters, positions + # and input remain dynamic. Compiled closures must never pin + # streamed weights beyond the configured residency budget. + key = f"blocks.{i}" + runner = self.compiled_blocks.get(key) + if runner is None: + + def forward( + x, params, indices, rope, projection_weights=None, block=block + ): + return block( + x, + params=params, + indices=indices, + rope=rope, + mlp_chunk=self.mlp_chunk, + query_chunk=self.query_chunk, + kernel=self.kernel, + threads=self.threads, + projection_weights=projection_weights, + ) + + runner = mx.compile(forward) + if key in self.blocks: + self.compiled_blocks[key] = runner + if self.weight_storage == "packed12": + # Explicit dynamic inputs prevent constant-folding the + # reconstruction into a retained dense weight matrix. + state = tuple( + p.weight.state() + for p in (block.qkv, block.out, block.fc1, block.fc2) + ) + x = runner(x, params, indices, rope, state) + else: + x = runner(x, params, indices, rope) + else: + x = block( + x, + params=params, + indices=indices, + rope=rope, + mlp_chunk=self.mlp_chunk, + query_chunk=self.query_chunk, + kernel=self.kernel, + threads=self.threads, + ) + if (self.async_blocks or prefetch) and not on_layer: + mx.async_eval(x) + if on_layer or (sync_every and (i + 1) % sync_every == 0): + mx.eval(x) + if on_layer: + on_layer(step, i, x) + mx.eval(x) + self.metrics["block_wall_s"] += time.perf_counter() - loop_start + self.metrics["block_compute_s"] += ( + time.perf_counter() + - loop_start + - (self.metrics["block_load_s"] - loads_before) + ) + final = self.modulation["final"][step] + if references: + final_table = mx.stack((final, self.modulation["final"][-1])) + final_indices = (time_ids > 0).astype(mx.int32) + else: + final_table = final[None] + final_indices = mx.zeros(x.shape[0], mx.int32) + hidden = modulate( + x, + self._constant("final_layer.norm.weight"), + final_table[:, 0], + final_table[:, 1], + final_indices, + self.config.final_norm_eps, + kernel=self.kernel, + threads=self.threads, + ) + # Native per-step PDD output head and FP32 projection/Euler state. + weight = self.heads.get("video_out.weight", rows=slice(step, step + 1))[0] + bias = self.heads.get("video_out.bias", rows=slice(step, step + 1))[0] + velocity = mx.addmm(bias, hidden.astype(mx.float32), weight.T) + mx.eval(velocity) + return velocity[ntext:] + + def clear(self): + self.compiled_blocks.clear() + self.blocks.clear() + self.constants.clear() + self.block_bytes = 0 + self.store.clear() + if self.core_store is not self.store: + self.core_store.clear() + self.heads.clear() + gc.collect() + mx.clear_cache() diff --git a/h3_mlx/encoder.py b/h3_mlx/encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..ed08d354c3888b3e1b1b29fb69771ef69a5eb105 --- /dev/null +++ b/h3_mlx/encoder.py @@ -0,0 +1,199 @@ +from __future__ import annotations + +import gc +import hashlib +import importlib.metadata +import json +import logging +import os +from pathlib import Path + +import mlx.core as mx +from transformers import AutoTokenizer + +from .ops import attention, rms_norm, rotate, silu +from .weights import Linear, WeightStore + +log = logging.getLogger(__name__) + + +class TextEncoder: + """Qwen3-VL's first fifty language layers, with no final RMS normalization. + + Layers stream one at a time. Conditioning is cached by weights, exact token + presentation and precision policy; it is independent of diffusion seed. + """ + + def __init__( + self, path, *, cache_dir="cache", bits=None, group_size=64, query_chunk=0 + ): + self.path = Path(path) + self.config = json.loads((self.path / "config.json").read_text()) + self.text_config = self.config["text_config"] + self.store = WeightStore(self.path) + self.tokenizer = AutoTokenizer.from_pretrained( + str(self.path), local_files_only=True + ) + self.cache_dir = Path(cache_dir) + self.bits, self.group_size, self.query_chunk = bits, group_size, query_chunk + + def encode(self, prompt, *, images=(), on_layer=None): + self.cache_hit = False + if not prompt.strip(): + raise ValueError("Prompt must be nonempty") + if images: + from .vision import image_presentation + + ids, tags, positions, vision = image_presentation(self, prompt, images) + else: + raw = self.tokenizer.encode(prompt, add_special_tokens=False)[:4096] + ids = raw + [0] * (-len(raw) % 8) + tags = mx.ones(len(raw), mx.int32) + positions = None + vision = None + identity = { + "version": 5, + "weights": self.store.fingerprint(), + "config": self.config, + "versions": { + p: importlib.metadata.version(p) + for p in ("mlx", "numpy", "Pillow", "transformers") + }, + "ids": ids, + "bits": self.bits, + "group_size": self.group_size, + "query_chunk": self.query_chunk, + "tap": 50, + "tf32": os.environ.get("MLX_ENABLE_TF32"), + "images": [ + hashlib.sha256(im.tobytes()).hexdigest() + str(im.size) for im in images + ], + } + if images: + identity["vision_layer_norm_revision"] = 2 + key = hashlib.sha256(json.dumps(identity, sort_keys=True).encode()).hexdigest()[ + :24 + ] + target = self.cache_dir / f"conditioning-{key}.safetensors" + if target.exists(): + data = mx.load(str(target)) + mx.eval(data) + self.cache_hit = True + log.info( + "Conditioning cache hit: %d effective tokens", data["hidden"].shape[0] + ) + return data["hidden"], data["tags"] + prefix = "model.language_model" + x = self.store.get(prefix + ".embed_tokens.weight", rows=ids)[None] + mx.eval(x) + if vision is not None: + from .vision import encode_vision + + features, deep = encode_vision( + self.store, self.config["vision_config"], vision + ) + image_indices = mx.array( + [i for i, t in enumerate(ids) if t == self.config["image_token_id"]] + ) + x[0, image_indices] = features + cfg = self.text_config + dim, nq, nk = ( + cfg["head_dim"], + cfg["num_attention_heads"], + cfg["num_key_value_heads"], + ) + if positions is None: + positions = mx.broadcast_to( + mx.arange(len(ids), dtype=mx.float32)[None], (3, len(ids)) + ) + else: + positions = mx.array(positions, mx.float32) + inv = 1 / (cfg["rope_theta"] ** (mx.arange(0, dim, 2, dtype=mx.float32) / dim)) + angles = positions[:, :, None] * inv[None, None] + # Qwen3-VL interleaves spatial axes into the temporal frequency stream. + sections = cfg["rope_scaling"]["mrope_section"] + freq = angles[0] + for axis, offset in ((1, 1), (2, 2)): + stop = sections[axis] * 3 + freq[:, offset:stop:3] = angles[axis, :, offset:stop:3] + freq = mx.concatenate((freq, freq), axis=-1) + rope = ( + mx.cos(freq).astype(mx.bfloat16)[None, :, None], + mx.sin(freq).astype(mx.bfloat16)[None, :, None], + ) + mx.eval(rope) + for i in range(50): + layer = f"{prefix}.layers.{i}" + + def linear(suffix, layer=layer): + return Linear.load( + self.store, + layer + "." + suffix, + bits=self.bits, + group_size=self.group_size, + ) + + qproj, kproj, vproj = ( + linear("self_attn." + p + "_proj") for p in ("q", "k", "v") + ) + oproj = linear("self_attn.o_proj") + h = rms_norm( + x, + self.store.get(layer + ".input_layernorm.weight"), + cfg["rms_norm_eps"], + rounded=True, + ) + q = qproj(h).reshape(1, len(ids), nq, dim) + k = kproj(h).reshape(1, len(ids), nk, dim) + v = vproj(h).reshape(1, len(ids), nk, dim) + q = rms_norm( + q, + self.store.get(layer + ".self_attn.q_norm.weight"), + cfg["rms_norm_eps"], + rounded=True, + ) + k = rms_norm( + k, + self.store.get(layer + ".self_attn.k_norm.weight"), + cfg["rms_norm_eps"], + rounded=True, + ) + q, k = rotate(q, *rope), rotate(k, *rope) + h = attention(q, k, v, causal=True, query_chunk=self.query_chunk).reshape( + 1, len(ids), -1 + ) + x = x + oproj(h) + mx.eval(x) + del qproj, kproj, vproj, oproj, q, k, v, h + gate, up, down = ( + linear("mlp." + p + "_proj") for p in ("gate", "up", "down") + ) + h = rms_norm( + x, + self.store.get(layer + ".post_attention_layernorm.weight"), + cfg["rms_norm_eps"], + rounded=True, + ) + x = x + down(silu(gate(h)) * up(h)) + if vision is not None and i < len(deep): + x = x.at[0, image_indices].add(deep[i]) + mx.eval(x) + del gate, up, down, h + if on_layer: + on_layer(i, x) + if (i + 1) % 10 == 0: + log.info("Text encoder %d/50", i + 1) + mx.clear_cache() + hidden = x[0, : len(tags)].astype(mx.bfloat16) + mx.eval(hidden) + self.cache_dir.mkdir(parents=True, exist_ok=True) + tmp = target.with_suffix(".tmp.safetensors") + mx.save_safetensors( + str(tmp), + {"hidden": hidden, "tags": tags}, + metadata={"identity": json.dumps(identity)}, + ) + tmp.replace(target) + gc.collect() + mx.clear_cache() + return hidden, tags diff --git a/h3_mlx/hub.py b/h3_mlx/hub.py new file mode 100644 index 0000000000000000000000000000000000000000..c81591a943d14390254a442bab87764188c76536 --- /dev/null +++ b/h3_mlx/hub.py @@ -0,0 +1,224 @@ +"""Pinned, selective Hub downloads. No model or Metal imports are needed here.""" + +from __future__ import annotations + +import hashlib +import importlib.metadata +import json +import os +import re +from pathlib import Path, PurePosixPath + + +def read_json(path): + return json.loads(Path(path).read_text()) + + +def relative_path(value): + path = PurePosixPath(value) + if ( + not value + or path.is_absolute() + or any(p in ("", ".", "..") for p in value.split("/")) + or "\\" in value + ): + raise ValueError(f"Invalid release file path: {value!r}") + return Path(*path.parts) + + +def sha256(path): + digest = hashlib.sha256() + with Path(path).open("rb") as handle: + for chunk in iter(lambda: handle.read(8 * 1024**2), b""): + digest.update(chunk) + return digest.hexdigest() + + +def load_release(model_path): + release = read_json(Path(model_path) / "release.json") + if release.get("format") != "h3-mlx-release-v1": + raise ValueError("Unsupported published model format") + if release.get("core_format") not in ("native", "packed12", "quantized"): + raise ValueError("Unsupported published core format") + if release["core_format"] == "quantized" and ( + release.get("bits") not in (4, 8) or release.get("group_size") != 64 + ): + raise ValueError("Unsupported published quantization policy") + return release + + +def validate_modulation(release, sigmas): + if list(sigmas) != release.get("sigmas"): + raise ValueError("Published tables require the original six-step PDD schedule") + if ( + importlib.metadata.version("mlx") != release.get("modulation_mlx") + or os.environ.get("MLX_ENABLE_TF32") != "0" + ): + raise ValueError( + "Published modulation tables require MLX " + f"{release.get('modulation_mlx')} and MLX_ENABLE_TF32=0. " + "Use the tested environment or the original upstream checkpoint." + ) + + +def _manifest_snapshot(entry, *, local_files_only=False, verify=False, omit=()): + from huggingface_hub import hf_hub_download, snapshot_download + + revision = entry.get("revision", "") + if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision): + raise ValueError(f"No immutable published revision for {entry['repo_id']}") + manifest_file = hf_hub_download( + entry["repo_id"], + "files.json", + revision=revision, + local_files_only=local_files_only, + ) + manifest = read_json(manifest_file) + if manifest.get("format") != "h3-mlx-files-v1": + raise ValueError("Unsupported release file manifest") + files = {name: spec for name, spec in manifest["files"].items() if name not in omit} + for name, spec in files.items(): + relative_path(name) + if ( + not isinstance(spec.get("bytes"), int) + or spec["bytes"] < 0 + or not re.fullmatch(r"[0-9a-f]{64}", spec.get("sha256", "")) + ): + raise ValueError(f"Invalid release file metadata: {name}") + snapshot = Path( + snapshot_download( + entry["repo_id"], + revision=revision, + allow_patterns=list(files) + ["files.json"], + local_files_only=local_files_only, + ) + ) + for name, spec in files.items(): + path = snapshot / relative_path(name) + if not path.is_file() or path.stat().st_size != spec["bytes"]: + raise ValueError(f"Missing or truncated release file: {name}") + if verify and sha256(path) != spec["sha256"]: + raise ValueError(f"SHA-256 mismatch: {name}") + return snapshot, files + + +def _link(source, destination): + source = Path(source).resolve(strict=True) + destination = Path(destination) + if destination.exists() or destination.is_symlink(): + if destination.resolve() == source: + return + if ( + source.is_file() + and destination.is_file() + and source.stat().st_size == destination.stat().st_size + and sha256(source) == sha256(destination) + ): + return + raise FileExistsError(f"Refusing to replace existing file: {destination}") + destination.parent.mkdir(parents=True, exist_ok=True) + destination.symlink_to(source, target_is_directory=source.is_dir()) + + +def download_variant( + variant, + model_dir, + *, + encoder_path=None, + skip_encoder=False, + local_files_only=False, + catalog_path=None, + verify=False, +): + from huggingface_hub import snapshot_download + + catalog = read_json(catalog_path or Path(__file__).with_name("model_index.json")) + if ( + catalog.get("format") != "h3-mlx-catalog-v1" + or variant not in catalog["variants"] + ): + raise ValueError("Unknown model variant or catalog format") + if catalog.get("status") != "published": + raise RuntimeError( + "This release is prepared locally; Hub publication is pending" + ) + entry, shared = catalog["variants"][variant], catalog["shared"] + model_dir = Path(model_dir).expanduser().absolute() + identity = {"variant": variant, "model": entry, "shared": shared} + marker = model_dir / ".download.json" + if model_dir.exists() and any(model_dir.iterdir()): + if not marker.is_file() or read_json(marker) != identity: + raise FileExistsError( + "Use a separate empty model directory for each variant/release" + ) + model_dir.mkdir(parents=True, exist_ok=True) + marker.write_text(json.dumps(identity, indent=2) + "\n") + omit = ( + ("model/transformer/support.safetensors",) + if entry["core_format"] == "native" + else () + ) + shared_path, shared_files = _manifest_snapshot( + shared, + local_files_only=local_files_only, + verify=verify, + omit=omit, + ) + variant_path, variant_files = _manifest_snapshot( + entry, + local_files_only=local_files_only, + verify=verify, + ) + for snapshot, files in ((shared_path, shared_files), (variant_path, variant_files)): + for name in files: + if name.startswith("model/"): + relative = relative_path(name[len("model/") :]) + _link(snapshot / name, model_dir / relative) + for component, snapshot, files in ( + ("shared", shared_path, shared_files), + ("variant", variant_path, variant_files), + ): + for name in files: + if name.startswith("LICENSE") or name in ("NOTICE", "MODIFICATIONS.md"): + _link(snapshot / name, model_dir / "licenses" / component / name) + result = {"variant": variant, "model_path": str(model_dir)} + if not skip_encoder: + if encoder_path is None: + encoder = catalog["text_encoder"] + encoder_path = ( + Path( + snapshot_download( + encoder["repo_id"], + revision=encoder["revision"], + allow_patterns=["text_encoder/*", "LICENSE"], + local_files_only=local_files_only, + ) + ) + / "text_encoder" + ) + encoder_path = Path(encoder_path).expanduser().resolve(strict=True) + if not (encoder_path / "config.json").is_file() or not any( + encoder_path.glob("*.safetensors") + ): + raise ValueError( + "Text encoder directory requires config.json and safetensors weights" + ) + _link(encoder_path, model_dir / "text_encoder") + result["text_encoder_path"] = str(model_dir / "text_encoder") + release = { + "format": "h3-mlx-release-v1", + "variant": variant, + "core_format": entry["core_format"], + "bits": entry.get("bits"), + "group_size": entry.get("group_size", 64), + "sigmas": catalog["sigmas"], + "modulation_mlx": "0.32.4", + "source": catalog["source"], + } + temporary = model_dir / ".release.json.tmp" + temporary.write_text(json.dumps(release, indent=2) + "\n") + temporary.replace(model_dir / "release.json") + result["downloads"] = ( + "one variant, shared components, and text encoder if requested" + ) + return result diff --git a/h3_mlx/kernels.py b/h3_mlx/kernels.py new file mode 100644 index 0000000000000000000000000000000000000000..9ca4453239e898881db6b102b387c8a2ddc8a20e --- /dev/null +++ b/h3_mlx/kernels.py @@ -0,0 +1,135 @@ +"""Experimental Metal RMSNorm + indexed AdaLN, with BF16 operation boundaries. + +One threadgroup owns one row. The tuning harness checks output error as well as +latency for 128/256/512 threads; this is opt-in because reduction order differs. +""" + +from functools import lru_cache + +import mlx.core as mx + + +@lru_cache(maxsize=8) +def _kernel(threads): + if threads not in (128, 256, 512): + raise ValueError("norm threads must be 128, 256 or 512") + return mx.fast.metal_kernel( + name=f"h3_norm_mod_{threads}", + input_names=["x", "weight", "shift", "scale", "indices", "epsilon"], + output_names=["out"], + source=r""" + uint tid = thread_position_in_threadgroup.x; + uint row = threadgroup_position_in_grid.y; + uint width = x_shape[1]; + float sum = 0; + for (uint c = tid; c < width; c += TG) { + float a = float(x[row * width + c]); + sum += a * a; + } + sum = simd_sum(sum); + threadgroup float partial[32]; + uint lane = tid % 32, warp = tid / 32; + if (lane == 0) partial[warp] = sum; + threadgroup_barrier(mem_flags::mem_threadgroup); + if (warp == 0) { + float v = lane < TG / 32 ? partial[lane] : 0.0f; + v = simd_sum(v); + if (lane == 0) partial[0] = metal::rsqrt(v / float(width) + epsilon[0]); + } + threadgroup_barrier(mem_flags::mem_threadgroup); + float inv = partial[0]; + uint index = indices[row] * width; + for (uint c = tid; c < width; c += TG) { + T affine = T(float(x[row * width + c]) * inv * float(weight[c])); + T factor = T(T(1) + scale[index + c]); + T product = T(affine * factor); + out[row * width + c] = T(product + shift[index + c]); + } + """, + ) + + +def norm_modulate(x, weight, shift, scale, indices, eps=1e-5, threads=256): + if x.ndim != 2 or x.shape[-1] != weight.shape[0]: + raise ValueError("Expected [rows,width] and a matching norm weight") + return _kernel(threads)( + inputs=[ + x, + weight, + shift, + scale, + indices.astype(mx.uint32), + mx.array([eps], mx.float32), + ], + template=[("T", x.dtype), ("TG", threads)], + grid=(threads, x.shape[0], 1), + threadgroup=(threads, 1, 1), + output_shapes=[x.shape], + output_dtypes=[x.dtype], + )[0] + + +@lru_cache(maxsize=1) +def _qk_kernel(): + return mx.fast.metal_kernel( + name="h3_qk_norm_rope", + input_names=["qkv", "qw", "kw", "cosine", "sine", "epsilon"], + output_names=["qout", "kout"], + source=r""" + uint lane = thread_position_in_threadgroup.x; + uint row = threadgroup_position_in_grid.y; + uint heads = qkv_shape[2], dim = qkv_shape[3]; + uint token = row / heads, head = row % heads; + uint qb = token * 3 * heads * dim + head * dim; + uint kb = qb + heads * dim; + uint rot = cosine_shape[1]; + float qsum = 0, ksum = 0; + for (uint c = lane; c < dim; c += 32) { + float q = float(qkv[qb+c]), k = float(qkv[kb+c]); + qsum += q*q; ksum += k*k; + } + float qi = metal::rsqrt(simd_sum(qsum)/float(dim)+epsilon[0]); + float ki = metal::rsqrt(simd_sum(ksum)/float(dim)+epsilon[0]); + for (uint c = lane; c < dim; c += 32) { + T qn = T(float(qkv[qb+c])*qi*float(qw[c])); + T kn = T(float(qkv[kb+c])*ki*float(kw[c])); + if (c < rot) { + uint partner = (c+rot/2)%rot; + T qother = T(float(qkv[qb+partner])*qi*float(qw[partner])); + T kother = T(float(qkv[kb+partner])*ki*float(kw[partner])); + if (c < rot/2) { qother = -qother; kother = -kother; } + T qcos = T(qn*cosine[token*rot+c]); + T kcos = T(kn*cosine[token*rot+c]); + T qsin = T(qother*sine[token*rot+c]); + T ksin = T(kother*sine[token*rot+c]); + qn = T(qcos+qsin); kn = T(kcos+ksin); + } + qout[row*dim+c] = qn; + kout[row*dim+c] = kn; + } + """, + ) + + +def qk_norm_rope(qkv, qw, kw, cos, sin, eps=1e-5): + """Fused head RMSNorm/partial RoPE; qkv [S,3,H,D], outputs [1,S,H,D].""" + if qkv.ndim != 4 or qkv.shape[1] != 3: + raise ValueError("QKV must have shape [sequence,3,heads,dim]") + n, _, heads, dim = qkv.shape + shape = (1, n, heads, dim) + rot = cos.shape[-1] + return _qk_kernel()( + inputs=[ + qkv, + qw, + kw, + cos.reshape(n, rot), + sin.reshape(n, rot), + mx.array([eps], mx.float32), + ], + template=[("T", qkv.dtype)], + grid=(32, n * heads, 1), + threadgroup=(32, 1, 1), + output_shapes=[shape, shape], + output_dtypes=[qkv.dtype, qkv.dtype], + ) diff --git a/h3_mlx/layout.py b/h3_mlx/layout.py new file mode 100644 index 0000000000000000000000000000000000000000..2704b134bc82cd9215a563d4077abbad1491f0d2 --- /dev/null +++ b/h3_mlx/layout.py @@ -0,0 +1,56 @@ +from __future__ import annotations + +import mlx.core as mx +import numpy as np + + +def patchify(latent): + """BCHW latent -> [B*H/2*W/2, C*2*2], channel then patch coordinates.""" + b, c, h, w = latent.shape + if h % 2 or w % 2: + raise ValueError("Latent height/width must be even") + return ( + latent.reshape(b, c, h // 2, 2, w // 2, 2) + .transpose(0, 2, 4, 1, 3, 5) + .reshape(-1, c * 4) + ) + + +def unpatchify(rows, h, w, channels=24): + return ( + rows.reshape(1, h // 2, w // 2, channels, 2, 2) + .transpose(0, 3, 1, 4, 2, 5) + .reshape(1, channels, h, w) + ) + + +def image_positions(text_len, h, w, references=()): + """H3 ref2va coordinates, generated in float64 on CPU then cast once. + + Padding is omitted: upstream packs it as a separate attention document. + Real rows cannot attend to it, so it has no effect on these outputs. + """ + text = np.zeros((text_len, 3), np.float64) + text[:, 0] = np.arange(text_len) + result = [text] + for i, (hh, ww) in enumerate((*references, (h, w))): + area = np.sqrt(hh * ww) + axes = [] + for dim in (hh, ww): + ratio = dim / area + left = (1 - ratio) / 2 + axes.append(np.linspace(left, left + ratio, dim // 2, endpoint=False) * 32) + yy, xx = np.meshgrid(*axes, indexing="ij") + coords = np.stack((np.full_like(yy, text_len + i), yy, xx), axis=-1).reshape( + -1, 3 + ) + result.append(coords) + return mx.array(np.concatenate(result).astype(np.float32)) + + +def rope_cache(positions, inv_freq, dtype=mx.bfloat16): + half = (positions[..., None] * inv_freq).reshape(positions.shape[0], -1) + angles = mx.concatenate((half, half), axis=-1) + return mx.cos(angles).astype(dtype)[None, :, None], mx.sin(angles).astype(dtype)[ + None, :, None + ] diff --git a/h3_mlx/memory.py b/h3_mlx/memory.py new file mode 100644 index 0000000000000000000000000000000000000000..c32c2ab423eaa0ead502df0ea0615b6b138ede22 --- /dev/null +++ b/h3_mlx/memory.py @@ -0,0 +1,109 @@ +"""macOS process memory accounting, including Metal allocations. + +Physical footprint, resident size and MLX allocation counters overlap. They +must be reported separately. Sampling can miss short peaks; the lifetime +high-water counter includes all earlier requests in a persistent process. +""" + +from __future__ import annotations + +import ctypes +import os +import threading + + +class _RUsageV4(ctypes.Structure): + # Exact macOS SDK sys/resource.h rusage_info_v4 layout. + _fields_ = [("uuid", ctypes.c_uint8 * 16)] + [ + (name, ctypes.c_uint64) + for name in ( + "user_time", + "system_time", + "pkg_idle_wkups", + "interrupt_wkups", + "pageins", + "wired_size", + "resident_size", + "phys_footprint", + "proc_start_abstime", + "proc_exit_abstime", + "child_user_time", + "child_system_time", + "child_pkg_idle_wkups", + "child_interrupt_wkups", + "child_pageins", + "child_elapsed_abstime", + "diskio_bytesread", + "diskio_byteswritten", + "cpu_time_qos_default", + "cpu_time_qos_maintenance", + "cpu_time_qos_background", + "cpu_time_qos_utility", + "cpu_time_qos_legacy", + "cpu_time_qos_user_initiated", + "cpu_time_qos_user_interactive", + "billed_system_time", + "serviced_system_time", + "logical_writes", + "lifetime_max_phys_footprint", + "instructions", + "cycles", + "billed_energy", + "serviced_energy", + "interval_max_phys_footprint", + "runnable_time", + ) + ] + + +_proc = ctypes.CDLL("/usr/lib/libproc.dylib", use_errno=True) +_proc.proc_pid_rusage.argtypes = [ctypes.c_int, ctypes.c_int, ctypes.c_void_p] +_proc.proc_pid_rusage.restype = ctypes.c_int + + +def footprint(): + info = _RUsageV4() + if _proc.proc_pid_rusage(os.getpid(), 4, ctypes.byref(info)): + raise OSError(ctypes.get_errno(), "proc_pid_rusage") + return { + "physical_bytes": info.phys_footprint, + "lifetime_peak_physical_bytes": info.lifetime_max_phys_footprint, + "resident_bytes": info.resident_size, + } + + +class FootprintMonitor: + """Sample current footprint; lifetime high water includes earlier runs.""" + + def __init__(self, interval=0.1): + self.interval = interval + self.samples = [] + self.stop_event = threading.Event() + + def _run(self): + while not self.stop_event.wait(self.interval): + self.samples.append(footprint()) + + def __enter__(self): + self.samples.append(footprint()) + self.worker = threading.Thread(target=self._run, daemon=True) + self.worker.start() + return self + + def __exit__(self, *_): + self.stop_event.set() + self.worker.join() + self.samples.append(footprint()) + + def result(self): + return { + "sampled_peak_physical_bytes": max( + s["physical_bytes"] for s in self.samples + ), + "lifetime_peak_physical_bytes": self.samples[-1][ + "lifetime_peak_physical_bytes" + ], + "sample_interval_s": self.interval, + "sample_count": len(self.samples), + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum.", + } diff --git a/h3_mlx/model_index.json b/h3_mlx/model_index.json new file mode 100644 index 0000000000000000000000000000000000000000..df9730b1fb80a997cd4476dfd6dad3750528a18c --- /dev/null +++ b/h3_mlx/model_index.json @@ -0,0 +1,57 @@ +{ + "format": "h3-mlx-catalog-v1", + "status": "published", + "release": "v0.4.0", + "source": { + "repo_id": "MiniMaxAI/MiniMax-H3-Image", + "revision": "6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901" + }, + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "shared": { + "repo_id": "devin-lai/MiniMax-H3-Image-mlx-shared", + "revision": "c2a6431abbc5d778c3fb01ca087b86b3978058da" + }, + "variants": { + "bf16": { + "repo_id": "devin-lai/MiniMax-H3-Image-mlx-bf16", + "revision": "040231b5e7b35c237750b86663a0e1a58234751c", + "core_format": "native", + "bits": null, + "group_size": 64 + }, + "packed12": { + "repo_id": "devin-lai/MiniMax-H3-Image-mlx-packed12", + "revision": "d18ed47041f3c82eae9ddfc3056742ee4b0f64b2", + "core_format": "packed12", + "bits": null, + "group_size": 64 + }, + "q8": { + "repo_id": "devin-lai/MiniMax-H3-Image-mlx-q8", + "revision": "118091244c9d1556fec3e1bd1023b3393b031ca7", + "core_format": "quantized", + "bits": 8, + "group_size": 64 + }, + "q4": { + "repo_id": "devin-lai/MiniMax-H3-Image-mlx-q4", + "revision": "aa5788e4a44fb8de8057dff1512d95eb823404d5", + "core_format": "quantized", + "bits": 4, + "group_size": 64 + } + }, + "text_encoder": { + "repo_id": "MiniMaxAI/MiniMax-H3", + "revision": "0919fb684102ef115126612f3fbb84d1027e7317", + "subfolder": "text_encoder" + } +} diff --git a/h3_mlx/ops.py b/h3_mlx/ops.py new file mode 100644 index 0000000000000000000000000000000000000000..333bbc3818274028ae7528cece0f4bb879ec61a9 --- /dev/null +++ b/h3_mlx/ops.py @@ -0,0 +1,95 @@ +"""Dense Metal attention and explicit BF16 rounding boundaries.""" + +from __future__ import annotations + +import mlx.core as mx + + +def silu(x): + # PyTorch evaluates SiLU in its accumulation dtype, then rounds once. + y = x.astype(mx.float32) + return (y * mx.sigmoid(y)).astype(x.dtype) + + +def rms_norm(x, weight=None, eps=1e-5, *, rounded=False): + # Qwen explicitly rounds before the affine multiply. ATen nn.RMSNorm + # (DiT/VAE) multiplies its affine in FP32 before rounding. MLX's low + # precision fast RMSNorm implements Qwen's order, so upcast for ATen. + if rounded: + normalized = mx.fast.rms_norm(x, None, eps) + return normalized if weight is None else normalized * weight + return mx.fast.rms_norm( + x.astype(mx.float32), None if weight is None else weight.astype(mx.float32), eps + ).astype(x.dtype) + + +def rotate(x, cos, sin): + n = cos.shape[-1] + a = x[..., :n] + half = n // 2 + rotated = mx.concatenate((-a[..., half:], a[..., :half]), axis=-1) + out = a * cos.astype(x.dtype) + rotated * sin.astype(x.dtype) + return mx.concatenate((out, x[..., n:]), axis=-1) + + +def attention(q, k, v, *, causal=False, query_chunk=0): + """Inputs [batch, sequence, heads, dim]; GQA without materializing repeated KV.""" + q, k, v = (a.transpose(0, 2, 1, 3) for a in (q, k, v)) + if not query_chunk or q.shape[2] <= query_chunk: + out = mx.fast.scaled_dot_product_attention( + q, k, v, scale=q.shape[-1] ** -0.5, mask="causal" if causal else None + ) + else: + rows = [] + for start in range(0, q.shape[2], query_chunk): + qq = q[:, :, start : start + query_chunk] + mask = None + if causal: + mask = ( + mx.arange(start, start + qq.shape[2])[:, None] + >= mx.arange(k.shape[2])[None] + ) + rows.append( + mx.fast.scaled_dot_product_attention( + qq, k, v, scale=q.shape[-1] ** -0.5, mask=mask + ) + ) + mx.eval(rows[-1]) + out = mx.concatenate(rows, axis=2) + return out.transpose(0, 2, 1, 3) + + +def modulate( + x, norm_weight, shift, scale, indices, eps=1e-5, *, kernel="native", threads=256 +): + if ( + kernel == "metal-exact" + and x.ndim == 2 + and x.shape[1] == 5376 + and x.dtype == mx.bfloat16 + ): + from .tuning import norm_modulate_exact, supported_device + + if supported_device() and 4096 <= x.shape[0] <= 9216: + return norm_modulate_exact(x, norm_weight, shift, scale, indices, eps) + if kernel in ("metal", "metal-qk"): + from .kernels import norm_modulate + + return norm_modulate(x, norm_weight, shift, scale, indices, eps, threads) + h = rms_norm(x, norm_weight, eps) + return h * (mx.array(1, x.dtype) + scale[indices]) + shift[indices] + + +def gated_add(x, other, gate, indices): + return x + gate[indices] * other + + +def swiglu(x): + a, b = mx.split(x, 2, axis=-1) + return silu(a) * b + + +def layer_norm(x, weight, bias, eps=1e-5): + return mx.fast.layer_norm( + x.astype(mx.float32), weight.astype(mx.float32), bias.astype(mx.float32), eps + ).astype(x.dtype) diff --git a/h3_mlx/packed.py b/h3_mlx/packed.py new file mode 100644 index 0000000000000000000000000000000000000000..1e582db0c113c1005a24ab868c14499a7c855c3d --- /dev/null +++ b/h3_mlx/packed.py @@ -0,0 +1,165 @@ +"""Lossless BF16 weight storage with a 12-bit common path and sparse escapes. + +BF16's low byte is stored verbatim. A nibble encodes the sign and one of eight +adjacent high-byte exponents. Rare values outside that window use an exact +uint16 escape, located by a sorted-index binary search only on escape lanes. +The GPU reconstructs the original BF16 bits before the ordinary Metal GEMM. +This reduces resident weights without quantization or a new matrix algorithm. +""" + +from __future__ import annotations + +from dataclasses import dataclass +from functools import lru_cache + +import mlx.core as mx +import numpy as np + + +@lru_cache(maxsize=1) +def _decoder(): + return mx.fast.metal_kernel( + name="h3_unpack_bf16_palette12_v1", + input_names=["low", "nibbles", "escape_indices", "escape_values", "base"], + output_names=["out"], + source=r""" + uint i = thread_position_in_grid.x; + if (i >= low_shape[0]) return; + uint code = (nibbles[i / 2] >> ((i % 2) * 4)) & 15; + uint count = escape_indices_shape[0]; + if (code == 0 && count != 0) { + uint left = 0, right = count; + while (left < right) { + uint mid = (left + right) / 2; + if (escape_indices[mid] < i) left = mid + 1; + else right = mid; + } + out[i] = escape_values[left]; + } else { + out[i] = ushort(low[i]) | ushort(((code & 7) + base[0]) << 8) + | ushort((code & 8) << 12); + } + """, + ) + + +@dataclass +class PackedBF16: + shape: tuple[int, ...] + low: mx.array + nibbles: mx.array + escape_indices: mx.array + escape_values: mx.array + base: mx.array + + @classmethod + def pack(cls, value): + if value.dtype != mx.bfloat16: + raise ValueError("Lossless palette12 stores BF16 tensors only") + raw = np.asarray(mx.contiguous(value).view(mx.uint16)).reshape(-1) + high = ((raw >> 8) & 127).astype(np.uint8) + base = max(0, int(high.max(initial=0)) - 7) + sign = ((raw >> 15) << 3).astype(np.uint8) + codes = np.clip(high.astype(np.int16) - base, 0, 7).astype(np.uint8) | sign + # Nibble zero is the escape code. When base==0 the whole representable + # high-byte range fits and zero can retain its ordinary interpretation. + mask = high < base + if base: + mask |= (high == base) & (sign == 0) + indices = np.flatnonzero(mask).astype(np.uint32) + codes[indices] = 0 + if codes.size % 2: + codes = np.pad(codes, (0, 1)) + values = [ + mx.array(raw.astype(np.uint8)), + mx.array(codes[::2] | (codes[1::2] << 4)), + mx.array(indices), + mx.array(raw[indices]), + mx.array([base], mx.uint32), + ] + mx.eval(values) + return cls(tuple(value.shape), *values) + + @property + def nbytes(self): + return sum( + x.nbytes + for x in ( + self.low, + self.nibbles, + self.escape_indices, + self.escape_values, + self.base, + ) + ) + + def state(self): + return ( + self.low, + self.nibbles, + self.escape_indices, + self.escape_values, + self.base, + ) + + def unpack(self, state=None): + raw = _decoder()( + inputs=self.state() if state is None else state, + grid=(self.low.size, 1, 1), + threadgroup=(256, 1, 1), + output_shapes=[(self.low.size,)], + output_dtypes=[mx.uint16], + )[0] + return raw.view(mx.bfloat16).reshape(self.shape) + + def tensors(self, prefix): + return { + f"{prefix}.{name}": getattr(self, name) + for name in ("low", "nibbles", "escape_indices", "escape_values", "base") + } + + @classmethod + def from_tensors(cls, tensors, prefix, shape): + result = cls( + tuple(shape), + *( + tensors[f"{prefix}.{name}"] + for name in ( + "low", + "nibbles", + "escape_indices", + "escape_values", + "base", + ) + ), + ) + size = int(np.prod(shape)) + if result.low.shape != (size,) or result.nibbles.shape != ((size + 1) // 2,): + raise ValueError("Invalid palette12 tensor dimensions") + if result.escape_indices.shape != result.escape_values.shape: + raise ValueError("Invalid palette12 escape arrays") + return result + + +class PackedLinear: + def __init__(self, weight, bias=None): + self.weight, self.bias = weight, bias + + @classmethod + def from_linear(cls, linear): + if linear.scales is not None: + raise ValueError("Lossless packing cannot be combined with quantization") + return cls(PackedBF16.pack(linear.weight), linear.bias) + + @property + def nbytes(self): + return self.weight.nbytes + (0 if self.bias is None else self.bias.nbytes) + + @property + def dtype(self): + return mx.bfloat16 + + def __call__(self, x, *, state=None): + x = x.astype(mx.bfloat16) + w = self.weight.unpack(state) + return x @ w.T if self.bias is None else mx.addmm(self.bias, x, w.T) diff --git a/h3_mlx/reference.py b/h3_mlx/reference.py new file mode 100644 index 0000000000000000000000000000000000000000..a93b3ea1793cecbe86d570519a92a3687cade2fc --- /dev/null +++ b/h3_mlx/reference.py @@ -0,0 +1,168 @@ +"""Image-reference CNN VAE encoder (single-frame causal convolutions in MLX). + +For a single frame, causal temporal zero padding selects the last temporal +kernel plane. This is the exact 2D reduction of the released 3D CNN, including +its spatial reflection padding, group norms and sampled posterior. +""" + +from __future__ import annotations + +import json +import logging +from pathlib import Path + +import mlx.core as mx +import numpy as np + +from .layout import patchify +from .ops import silu +from .vae import assemble_tiles, split_tiles +from .vision import bound_reference +from .weights import WeightStore + +log = logging.getLogger(__name__) + + +def reflect_pad(x, left, right, top, bottom): + # NHWC; explicit slices avoid NumPy/CPU roundtrips and support Metal. + if top or bottom: + parts = [] + if top: + parts.append(x[:, 1 : top + 1][:, ::-1]) + parts.append(x) + if bottom: + parts.append(x[:, -bottom - 1 : -1][:, ::-1]) + x = mx.concatenate(parts, axis=1) + if left or right: + parts = [] + if left: + parts.append(x[:, :, 1 : left + 1][:, :, ::-1]) + parts.append(x) + if right: + parts.append(x[:, :, -right - 1 : -1][:, :, ::-1]) + x = mx.concatenate(parts, axis=2) + return x + + +class ReferenceEncoder: + def __init__(self, path): + self.store = WeightStore(path, cache_gb=2) + self.config = json.loads((Path(path) / "config.json").read_text()) + + def conv(self, x, prefix, *, stride=1, pad=1, down=False): + weight = self.store.get(prefix + ".weight") + if weight.ndim == 5: + weight = weight[:, :, -1] + weight = weight.transpose(0, 2, 3, 1) + if down: + x = reflect_pad(x, 0, 1, 0, 1) + elif pad: + x = reflect_pad(x, pad, pad, pad, pad) + out = mx.conv2d(x, weight, stride=stride) + return out + self.store.get(prefix + ".bias") + + def norm(self, x, prefix): + b, h, w, c = x.shape + # GroupNorm reduces spatial dimensions and channels within each group. + f = x.astype(mx.float32).reshape(b, h, w, 32, c // 32) + mean = mx.mean(f, axis=(1, 2, 4), keepdims=True) + var = mx.mean((f - mean) ** 2, axis=(1, 2, 4), keepdims=True) + f = ((f - mean) * mx.rsqrt(var + 1e-6)).reshape(x.shape) + return f * self.store.get(prefix + ".weight") + self.store.get(prefix + ".bias") + + def resblock(self, x, prefix): + h = self.conv(silu(self.norm(x, prefix + ".norm1")), prefix + ".conv1") + h = self.conv(silu(self.norm(h, prefix + ".norm2")), prefix + ".conv2") + if prefix + ".nin_shortcut.weight" in self.store: + x = self.conv(x, prefix + ".nin_shortcut", pad=0) + return h + x + + def encode_tile(self, x): + x = self.conv(x, "encoder.conv_in") + for i in range(6): + for j in range(2): + x = self.resblock(x, f"encoder.down.{i}.block.{j}") + mx.eval(x) + if i < 4: + x = self.conv( + x, f"encoder.down.{i}.downsample.conv", stride=2, pad=0, down=True + ) + mx.eval(x) + x = self.conv(silu(self.norm(x, "encoder.norm_out")), "encoder.conv_out") + x = self.conv(x, "quant_conv", pad=0) + mx.eval(x) + return x.transpose(0, 3, 1, 2) + + def encode(self, image): + # Native conditioning CNN runs FP32, independently from decoder BF16. + image = bound_reference(image, 1024, 2048) + w, h = image.size + w, h = w // 16 * 16, h // 16 * 16 + array = np.asarray(image)[:h, :w].astype(np.float32) / 255 + x = mx.array( + (array - np.array([0.485, 0.456, 0.406], np.float32)) + / np.array([0.229, 0.224, 0.225], np.float32) + )[None] + ys, yl, yo = split_tiles(h) + xs, xl, xo = split_tiles(w) + rows = [] + for y, hh in zip(ys, yl, strict=False): + row = [] + for xx, ww in zip(xs, xl, strict=False): + row.append(self.encode_tile(x[:, y : y + hh, xx : xx + ww])) + rows.append(row) + moments = assemble_tiles(rows, [n // 16 for n in yo], [n // 16 for n in xo]) + mx.eval(moments) + return moments + + +def encode_references(path, images, *, generator, seed): + encoder = ReferenceEncoder(path) + bounded = [bound_reference(im, 1024, 2048) for im in images] + grids = [(im.height // 32 * 2, im.width // 32 * 2) for im in bounded] + # Consume every anchor draw before any posterior draw, as in H3 native. + if generator is not None: + import torch + + anchor_noise = [ + mx.array( + torch.randn( + 1, 24, h, w, generator=generator, dtype=torch.float32 + ).numpy() + ) + for h, w in grids + ] + else: + anchor_noise = [ + mx.random.normal((1, 24, h, w), key=mx.random.key(seed + 1 + i)) + for i, (h, w) in enumerate(grids) + ] + anchors = [] + cfg = encoder.config + mean = mx.array(cfg["latents_mean"], mx.float32)[None, :, None, None] + std = mx.array(cfg["latents_std"], mx.float32)[None, :, None, None] + for i, (image, (h, w), noise) in enumerate( + zip(bounded, grids, anchor_noise, strict=False) + ): + moments = encoder.encode(image) + mu, logvar = mx.split(moments, 2, axis=1) + logvar = mx.clip(logvar, -30, 20) + if generator is not None: + # Native posterior uses CPU torch noise then moves to execution device. + draw = mx.array( + torch.randn( + tuple(mu.shape), generator=generator, dtype=torch.float32 + ).numpy() + ) + else: + draw = mx.random.normal(mu.shape, key=mx.random.key(seed + 100 + i)) + z = mu + mx.exp(0.5 * logvar) * draw + # The upstream encode_images contract rounds its sampled latent to FP16. + z = z.astype(mx.float16).astype(mx.float32)[:, :, :h, :w] + clean = patchify((z - mean) / std) + t = mx.array(0.999, mx.float32) + anchors.append(t * clean + (1 - t) * patchify(noise)) + mx.eval(anchors[-1]) + log.info("Encoded edit reference %d/%d", i + 1, len(images)) + encoder.store.clear() + return tuple(grids), mx.concatenate(anchors) diff --git a/h3_mlx/runtime.py b/h3_mlx/runtime.py new file mode 100644 index 0000000000000000000000000000000000000000..981d046989292b83a93fecc7ad6214d9bc377c92 --- /dev/null +++ b/h3_mlx/runtime.py @@ -0,0 +1,397 @@ +from __future__ import annotations + +import gc +import hashlib +import importlib.metadata +import json +import logging +import os +import platform +import time +from datetime import datetime, timezone +from pathlib import Path + +import mlx.core as mx + +log = logging.getLogger(__name__) + + +def configure_memory(*, cache_gb=1, wired_gb=None): + if not mx.metal.is_available(): + raise RuntimeError("MLX Metal acceleration requires an Apple silicon Mac") + mx.set_default_device(mx.gpu) + mx.set_cache_limit(int(cache_gb * 1024**3)) + if wired_gb is not None: + requested = int(wired_gb * 1024**3) + limit = mx.device_info()["max_recommended_working_set_size"] + if not 0 <= requested <= limit: + raise ValueError("wired_gb must be within Metal's recommended working set") + mx.set_wired_limit(requested) + + +def environment(): + versions = {} + for package in ( + "mlx", + "mlx-metal", + "numpy", + "safetensors", + "transformers", + "torch", + "Pillow", + "scikit-image", + ): + try: + versions[package] = importlib.metadata.version(package) + except importlib.metadata.PackageNotFoundError: + pass + return { + "platform": platform.platform(), + "machine": platform.machine(), + "metal": mx.device_info(), + "versions": versions, + "precision_environment": { + k: os.environ.get(k) for k in ("MLX_ENABLE_TF32", "MLX_CONV_WINOGRAD") + }, + } + + +def memory_stats(): + result = { + "active_gb": mx.get_active_memory() / 1024**3, + "peak_gb": mx.get_peak_memory() / 1024**3, + "cache_gb": mx.get_cache_memory() / 1024**3, + } + if platform.system() == "Darwin": + from .memory import footprint + + physical = footprint() + result.update( + process_physical_gb=physical["physical_bytes"] / 1024**3, + process_lifetime_peak_physical_gb=physical["lifetime_peak_physical_bytes"] + / 1024**3, + ) + return result + + +def initial_noise(seed, h, w, *, rng="torch"): + if rng == "torch": + try: + import torch + except ImportError as error: + raise RuntimeError( + "Install the audit extra for native CPU noise, or use --rng mlx" + ) from error + generator = torch.Generator(device="cpu").manual_seed(seed) + return mx.array( + torch.randn(1, 24, h, w, generator=generator, dtype=torch.float32).numpy() + ), generator + if rng == "mlx": + return mx.random.normal((1, 24, h, w), key=mx.random.key(seed)), None + raise ValueError("rng must be torch or mlx") + + +class Pipeline: + def __init__( + self, + model_path, + encoder_path, + *, + cache_dir="cache", + dit_cache_gb=38, + bits=None, + encoder_bits=None, + group_size=64, + mlp_chunk=0, + query_chunk=0, + kernel="native", + threads=256, + vae_batch=1, + vae_dtype="bfloat16", + keep_resident=True, + quantized_path=None, + compile_blocks=False, + eval_every=1, + keep_refiners=False, + wired_gb=None, + weight_storage="bf16", + vae_compile=False, + vae_backend="mlx", + coreml_package=None, + coreml_compute_units="CPU_AND_GPU", + async_blocks=False, + cache_refined_text=True, + prefetch_blocks=0, + allow_nonfinite=False, + tune_matmul=False, + ): + self.model_path, self.encoder_path = Path(model_path), Path(encoder_path) + self.cache_dir = Path(cache_dir) + self.dit_options = dict( + cache_dir=cache_dir, + cache_gb=dit_cache_gb, + bits=bits, + group_size=group_size, + mlp_chunk=mlp_chunk, + query_chunk=query_chunk, + kernel=kernel, + threads=threads, + quantized_path=quantized_path, + compile_blocks=compile_blocks, + eval_every=eval_every, + keep_refiners=keep_refiners, + weight_storage=weight_storage, + async_blocks=async_blocks, + cache_refined_text=cache_refined_text, + prefetch_blocks=prefetch_blocks, + tune_matmul=tune_matmul, + ) + self.encoder_options = dict( + cache_dir=cache_dir, + bits=encoder_bits, + group_size=group_size, + query_chunk=query_chunk, + ) + if vae_backend not in ("mlx", "coreml"): + raise ValueError("vae_backend must be mlx or coreml") + if vae_backend == "coreml" and ( + coreml_package is None or not Path(coreml_package).is_dir() + ): + raise ValueError("Core ML decoding requires an exported --coreml-package") + self.vae_backend = vae_backend + self.vae_options = dict( + tile_batch=vae_batch, dtype=vae_dtype, compile_blocks=vae_compile + ) + if vae_backend == "coreml": + if vae_dtype != "bfloat16": + raise ValueError("Core ML tile assembly requires --vae-dtype bfloat16") + import coremltools as ct + + from .coreml_vae import CoreMLVAE + from .weights import WeightStore + + metadata = ct.models.MLModel( + str(coreml_package), skip_model_load=True + ).user_defined_metadata + CoreMLVAE.validate_metadata( + metadata, WeightStore(self.model_path / "vae").fingerprint(), vae_batch + ) + self.vae_options["compile_blocks"] = False + self.vae_options.update( + package=str(coreml_package), compute_units=coreml_compute_units + ) + self.keep_resident = keep_resident + self.wired_gb = wired_gb + self.allow_nonfinite = allow_nonfinite + self.model = None + self.vae = None + + def clear(self): + for component in (self.model, self.vae): + if component is not None: + component.clear() + self.model = self.vae = None + gc.collect() + mx.clear_cache() + + def generate( + self, + prompt, + *, + width=2048, + height=2048, + seed=731, + min_area=4194304, + rng="torch", + output="outputs/image.png", + images=(), + steps=None, + save_trace=False, + ): + from .config import canvas_size, load_sigmas + from .dit import DiT + from .encoder import TextEncoder + from .layout import patchify, unpatchify + from .vae import VAE, to_image + + configure_memory(wired_gb=self.wired_gb) + mx.reset_peak_memory() + output = Path(output) + output.parent.mkdir(parents=True, exist_ok=True) + cw, ch = canvas_size(width, height, min_area) + h, w = ch // 16, cw // 16 + sigmas = load_sigmas(self.model_path) + selected = list(range(6)) if steps is None else list(steps) + if ( + not selected + or selected[0] != 0 + or sorted(set(selected)) != selected + or selected[-1] > 5 + ): + raise ValueError( + "Experimental steps must be ascending unique indices in [0,5], starting at 0" + ) + record = { + "started_utc": datetime.now(timezone.utc).isoformat(), + "prompt": prompt, + "seed": seed, + "size": [width, height], + "canvas": [cw, ch], + "rng": rng, + "sigmas": sigmas, + "steps": selected, + "dit": self.dit_options, + "encoder": self.encoder_options, + "vae": self.vae_options, + "vae_backend": self.vae_backend, + "environment": environment(), + "wired_gb": self.wired_gb, + "timings": {}, + "nonfinite_steps": [], + "allow_nonfinite_diagnostic": self.allow_nonfinite, + "reference_images": [str(i) for i in images], + "reference_sha256": [ + hashlib.sha256(Path(i).read_bytes()).hexdigest() for i in images + ], + } + start = time.perf_counter() + noise, generator = initial_noise(seed, h, w, rng=rng) + rows = patchify(noise) + mx.eval(rows) + image_objects = [] + if images: + from PIL import Image + + image_objects = [Image.open(p).convert("RGB") for p in images] + enc_start = time.perf_counter() + encoder = TextEncoder(self.encoder_path, **self.encoder_options) + hidden, tags = encoder.encode(prompt, images=image_objects) + record["conditioning_cache_hit"] = encoder.cache_hit + record["timings"]["encode_s"] = time.perf_counter() - enc_start + encoder.store.clear() + del encoder + gc.collect() + mx.clear_cache() + references, anchors = (), None + if image_objects: + from .reference import encode_references + + references, anchors = encode_references( + self.model_path / "vae", image_objects, generator=generator, seed=seed + ) + rows = mx.concatenate((anchors, rows), axis=0) + mx.eval(rows) + was_resident = self.model is not None + if self.model is None: + self.model = DiT(self.model_path, **self.dit_options) + model = self.model + record["dit_effective"] = { + "bits": model.bits, + "group_size": model.group_size, + "cache_limit_gb": model.block_limit / 1024**3, + "checkpoint_fingerprint": model.store.fingerprint(), + } + metrics_before = model.metrics.copy() + record["dit_was_resident"] = was_resident + setup = time.perf_counter() + model.prepare_modulation(sigmas, edit=bool(images)) + text = model.refine(hidden) + record["refiner_cache_hit"] = model.refiner_cache_hit + record["timings"]["dit_setup_s"] = time.perf_counter() - setup + nref = 0 if anchors is None else anchors.shape[0] + trace = {"initial_rows": rows, "conditioning": hidden, "text_tags": tags} + for ordinal, step in enumerate(selected): + tick = time.perf_counter() + velocity = model.predict( + rows, text, step, h, w, references=references, text_tags=tags + ) + next_step = selected[ordinal + 1] if ordinal + 1 < len(selected) else 6 + # Subtract float32 schedule values, then multiply and add separately. + delta = mx.array(sigmas[step], mx.float32) - mx.array( + sigmas[next_step], mx.float32 + ) + target = rows[nref:] + delta * velocity[nref:] + rows = ( + target if anchors is None else mx.concatenate((anchors, target), axis=0) + ) + mx.eval(rows) + if not mx.all(mx.isfinite(rows)).item(): + record["nonfinite_steps"].append(step) + if not self.allow_nonfinite: + raise FloatingPointError( + f"Non-finite denoising state at original head {step}; " + "use the native BF16 projection policy and verify the checkpoint" + ) + log.warning( + "Head %d produced non-finite state; saving an invalid diagnostic output", + step, + ) + if save_trace: + trace[f"rows.{step}"] = rows + trace[f"velocity.{step}"] = velocity + elapsed = time.perf_counter() - tick + record["timings"][f"step_{step}_s"] = elapsed + log.info( + "DiT step %d/6: %.3fs, %.2f GiB active", + step + 1, + elapsed, + mx.get_active_memory() / 1024**3, + ) + record["dit_metrics"] = { + k: v - metrics_before[k] for k, v in model.metrics.items() + } + if model.async_blocks or model.prefetch_blocks: + record["dit_metrics"].pop("block_compute_s", None) + record["dit_metrics"]["timing_note"] = ( + "Weight loading can overlap GPU execution. block_wall_s and step timings measure elapsed time; block_load_s is CPU load time and is not additive." + ) + latent = unpatchify(rows[nref:], h, w) + mx.eval(latent) + if save_trace: + trace["latent"] = latent + mx.save_safetensors(str(output.with_suffix(".trace.safetensors")), trace) + record["memory_before_decode"] = memory_stats() + record["valid_denoising"] = not record["nonfinite_steps"] + if not self.keep_resident: + model.clear() + self.model = None + del model, velocity, text, hidden, rows, trace + gc.collect() + mx.clear_cache() + decode_start = time.perf_counter() + if self.vae is None: + if self.vae_backend == "coreml": + from .coreml_vae import CoreMLVAE + + self.vae = CoreMLVAE(self.model_path / "vae", **self.vae_options) + else: + self.vae = VAE(self.model_path / "vae", **self.vae_options) + vae = self.vae + last_log = [time.perf_counter()] + + def progress(done, total): + now = time.perf_counter() + if now - last_log[0] > 20 or done == total: + log.info("VAE tiles %d/%d", done, total) + last_log[0] = now + + pixels = vae.decode(latent, on_batch=progress) + image = to_image(pixels, width, height) + image.save(output) + if not self.keep_resident: + vae.clear() + self.vae = None + record["timings"]["decode_s"] = time.perf_counter() - decode_start + record["timings"]["total_s"] = time.perf_counter() - start + record["memory"] = memory_stats() + record["memory"]["scope"] = ( + "active/peak/cache: MLX allocator, Core ML excluded; process_*: macOS parent process including Metal/Core ML, lifetime peak includes earlier requests; overlapping counters, do not sum" + if self.vae_backend == "coreml" + else "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + ) + record["output"] = str(output) + record["png_sha256"] = hashlib.sha256(output.read_bytes()).hexdigest() + record["finished_utc"] = datetime.now(timezone.utc).isoformat() + output.with_suffix(".json").write_text(json.dumps(record, indent=2) + "\n") + log.info("Saved %s in %.3fs", output, record["timings"]["total_s"]) + return image, record diff --git a/h3_mlx/tuning.py b/h3_mlx/tuning.py new file mode 100644 index 0000000000000000000000000000000000000000..f63feb515ec91eccf19130f5605ed4d6e514bc0d --- /dev/null +++ b/h3_mlx/tuning.py @@ -0,0 +1,284 @@ +"""Measured exact-arithmetic optimizations for M5/MLX 0.32.4. + +The norm producers follow MLX v0.32.4 rms_norm.metal: four adjacent reads per +lane, native reductions, precise rsqrt, FP32 affine, then explicit BF16 +AdaLN/RoPE rounding. FC2 uses Metal 4 TensorOps FP32 accumulation and BF16 output. +Both paths retain native fallbacks outside the tested hardware/shape scope. +See reports/optimization-r3 for full trajectory and timing evidence. +""" + +from functools import lru_cache +from importlib.metadata import version + +import mlx.core as mx + + +@lru_cache(maxsize=1) +def supported_device(): + return ( + version("mlx") == "0.32.4" + and mx.device_info().get("architecture") == "applegpu_g17s" + and mx.device_info().get("device_name") == "Apple M5 Pro" + ) + + +def supports_qk(qkv): + return ( + supported_device() + and qkv.dtype == mx.bfloat16 + and qkv.ndim == 4 + and qkv.shape[1] == 3 + and qkv.shape[2:] == (56, 128) + and 4096 <= qkv.shape[0] <= 9216 + ) + + +@lru_cache(None) +def _qk_exact_kernel(): + return mx.fast.metal_kernel( + name="h3_qk_norm_rope_exact_v1", + input_names=["qkv", "qw", "kw", "cosine", "sine", "epsilon"], + output_names=["qout", "kout"], + source=r""" + uint lane = thread_position_in_threadgroup.x; + uint row = threadgroup_position_in_grid.y; + uint heads = qkv_shape[2], dim = qkv_shape[3]; + uint token = row / heads, head = row % heads; + uint qb = token * 3 * heads * dim + head * dim; + uint kb = qb + heads * dim; + uint rot = cosine_shape[1]; + float qsum = 0, ksum = 0; + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = lane * 4 + j; + float q = float(qkv[qb+c]), k = float(qkv[kb+c]); + qsum += q*q; ksum += k*k; + } + float qi = metal::precise::rsqrt(simd_sum(qsum)/float(dim)+epsilon[0]); + float ki = metal::precise::rsqrt(simd_sum(ksum)/float(dim)+epsilon[0]); + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = lane * 4 + j; + T qn = T(float(qw[c])*(float(qkv[qb+c])*qi)); + T kn = T(float(kw[c])*(float(qkv[kb+c])*ki)); + if (c < rot) { + uint partner = (c+rot/2)%rot; + T qother = T(float(qw[partner])*(float(qkv[qb+partner])*qi)); + T kother = T(float(kw[partner])*(float(qkv[kb+partner])*ki)); + if (c < rot/2) { qother = -qother; kother = -kother; } + T qcos = T(qn*cosine[token*rot+c]); + T kcos = T(kn*cosine[token*rot+c]); + T qsin = T(qother*sine[token*rot+c]); + T ksin = T(kother*sine[token*rot+c]); + qn = T(qcos+qsin); kn = T(kcos+ksin); + } + uint offset = HEAD_MAJOR ? (head*qkv_shape[0]+token)*dim+c : row*dim+c; + qout[offset] = qn; kout[offset] = kn; + } + """, + ) + + +def qk_norm_rope_exact(qkv, qw, kw, cos, sin, eps=1e-5, *, head_major=False): + n, _, heads, dim = qkv.shape + if dim != 128: + raise ValueError("Research kernel only supports D128") + shape = (1, heads, n, dim) if head_major else (1, n, heads, dim) + return _qk_exact_kernel()( + inputs=[ + qkv, + qw, + kw, + cos.reshape(n, -1).astype(qkv.dtype), + sin.reshape(n, -1).astype(qkv.dtype), + mx.array([eps], mx.float32), + ], + template=[("T", qkv.dtype), ("HEAD_MAJOR", head_major)], + grid=(32, n * heads, 1), + threadgroup=(32, 1, 1), + output_shapes=[shape, shape], + output_dtypes=[qkv.dtype, qkv.dtype], + ) + + +@lru_cache(maxsize=None) +def _mpp_kernel(bm, bn, bk, groups, walk): + header = """ + #include + #include + using namespace mpp::tensor_ops; + """ + source = r""" + const int M = x_shape[0], K = x_shape[1], N = w_shape[0]; + int tiles_m = (M + BM - 1) / BM, tiles_n = N / BN; + int tile = threadgroup_position_in_grid.x; + int ti, tj; + if (WALK == 0) { + ti = tile / tiles_n; tj = tile % tiles_n; + } else { + // Group adjacent M rows, interleaving N tiles for L2 reuse. + int group = tile / (WALK * tiles_n); + int first_m = group * WALK; + int size_m = min(tiles_m - first_m, WALK); + int local = tile - group * WALK * tiles_n; + ti = first_m + local % size_m; + tj = local / size_m; + } + auto A = tensor(const_cast(x), dextents(K, M), array{1, K}); + auto B = tensor(const_cast(w), dextents(K, N), array{1, K}); + auto D = tensor(out, dextents(N, M), array{1, N}); + constexpr auto mode = matmul2d_descriptor::mode::multiply_accumulate; + constexpr auto desc = matmul2d_descriptor(BM, BN, BK, false, true, false, mode); + matmul2d> op; + auto a0 = A.template slice(0, ti * BM); + auto b0 = B.template slice(0, tj * BN); + auto accum = op.template get_destination_cooperative_tensor(); + for (int e = 0; e < accum.get_capacity(); ++e) accum[e] = 0.0f; + for (int k = 0; k < K; k += BK) { + threadgroup_barrier(mem_flags::mem_none); + auto a = A.template slice(k, ti * BM); + auto b = B.template slice(k, tj * BN); + op.run(a, b, accum); + } + auto bias_tensor = tensor(const_cast(bias), dextents(N, M), array{1, 0}); + auto bias_tile = bias_tensor.template slice(tj * BN, ti * BM); + auto bias_regs = op.template get_destination_cooperative_tensor(); + bias_regs.load(bias_tile); + auto result = op.template get_destination_cooperative_tensor(); + for (int e = 0; e < accum.get_capacity(); ++e) result[e] = T(accum[e] + float(bias_regs[e])); + result.store(D.template slice(tj * BN, ti * BM)); + """ + return mx.fast.metal_kernel( + name=f"h3_tuned_mpp_{bm}_{bn}_{bk}_{groups}_{walk}", + input_names=["x", "w", "bias"], + output_names=["out"], + source=source, + header=header, + ) + + +def _gemm(x, w, bias, bm, bn, bk, groups, walk): + m, k = x.shape + n = w.shape[0] + if k % bk or n % bn: + raise ValueError("This experimental kernel requires aligned K and N") + return _mpp_kernel(bm, bn, bk, groups, walk)( + inputs=[x, w, bias], + template=[ + ("T", x.dtype), + ("BM", bm), + ("BN", bn), + ("BK", bk), + ("SG", groups), + ("WALK", walk), + ], + grid=(((m + bm - 1) // bm) * (n // bn) * groups * 32, 1, 1), + threadgroup=(groups * 32, 1, 1), + output_shapes=[(m, n)], + output_dtypes=[x.dtype], + )[0] + + +class TunedFC2: + """Use the measured M5 tile for 4096–8192 BF16 rows; preserve other paths.""" + + def __init__(self, layer): + self.original = layer + self.weight, self.bias = layer.weight, layer.bias + self.enabled = supported_device() + self.zero = mx.zeros(5376, mx.bfloat16) + + @property + def nbytes(self): + return self.original.nbytes + + @property + def dtype(self): + return self.original.dtype + + def __call__(self, x, *, state=None): + eligible = ( + self.enabled + and x.ndim == 2 + and x.dtype == mx.bfloat16 + and self.weight.shape == (5376, 14336) + and 4096 <= x.shape[0] <= 8192 + and getattr(self.original, "scales", None) is None + ) + if not eligible: + return self.original(x) if state is None else self.original(x, state=state) + weight = ( + self.weight.unpack(state) if hasattr(self.weight, "unpack") else self.weight + ) + if weight.dtype != mx.bfloat16: + return self.original(x) if state is None else self.original(x, state=state) + return _gemm( + x, weight, self.zero if self.bias is None else self.bias, 64, 128, 512, 4, 8 + ) + + +@lru_cache(None) +def _norm_exact_kernel(): + return mx.fast.metal_kernel( + name="h3_norm_modulate_exact_v1", + input_names=["x", "weight", "shift", "scale", "indices", "epsilon"], + output_names=["out"], + source=r""" + uint tid = thread_position_in_threadgroup.x; + uint row = threadgroup_position_in_grid.y; + uint width = x_shape[1]; + float sum = 0; + for (uint r = 0; r < width; r += TG*4) { + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = r + tid*4+j; + if (c < width) { float a = float(x[row*width+c]); sum += a*a; } + } + } + sum = simd_sum(sum); + threadgroup float partial[32]; + uint lane = tid % 32, warp = tid / 32; + if (warp == 0) partial[lane] = 0; + threadgroup_barrier(mem_flags::mem_threadgroup); + if (lane == 0) partial[warp] = sum; + threadgroup_barrier(mem_flags::mem_threadgroup); + threadgroup float inverse; + if (warp == 0) { + float s = simd_sum(partial[lane]); + if (lane == 0) inverse = metal::precise::rsqrt(s/float(width)+epsilon[0]); + } + threadgroup_barrier(mem_flags::mem_threadgroup); + uint index = indices[row]*width; + for (uint r = 0; r < width; r += TG*4) { + #pragma unroll + for (uint j = 0; j < 4; ++j) { + uint c = r+tid*4+j; + if (c < width) { + T affine = T(float(weight[c])*(float(x[row*width+c])*inverse)); + T factor = T(T(1)+scale[index+c]); + T product = T(affine*factor); + out[row*width+c] = T(product+shift[index+c]); + } + } + } + """, + ) + + +def norm_modulate_exact(x, weight, shift, scale, indices, eps=1e-5): + threads = 1024 + return _norm_exact_kernel()( + inputs=[ + x, + weight, + shift, + scale, + indices.astype(mx.uint32), + mx.array([eps], mx.float32), + ], + template=[("T", x.dtype), ("TG", threads)], + grid=(threads, x.shape[0], 1), + threadgroup=(threads, 1, 1), + output_shapes=[x.shape], + output_dtypes=[x.dtype], + )[0] diff --git a/h3_mlx/vae.py b/h3_mlx/vae.py new file mode 100644 index 0000000000000000000000000000000000000000..4bcfbb6cc4850e6af30b39a5e63e54c1d9c08935 --- /dev/null +++ b/h3_mlx/vae.py @@ -0,0 +1,239 @@ +from __future__ import annotations + +import gc +import json +import logging +import math +from pathlib import Path + +import mlx.core as mx +import numpy as np +from PIL import Image + +from .ops import attention, layer_norm, rms_norm, rotate, swiglu +from .weights import Linear, WeightStore + +log = logging.getLogger(__name__) + + +def split_tiles(length, tile=256, overlap=64, ratio=16): + if tile <= overlap or tile % ratio or overlap % ratio: + raise ValueError( + "Tile size/overlap must be multiples of 16, with tile > overlap" + ) + if length <= tile: + return [0], [length], [] + n = math.ceil(length / tile) + while tile * n - overlap * (n - 1) < length: + n += 1 + overlaps = [overlap] * (n - 1) + for i in range((tile * n - sum(overlaps) - length) // ratio): + overlaps[i % (n - 1)] += ratio + starts = [0] + for ov in overlaps: + starts.append(starts[-1] + tile - ov) + return starts, [tile] * n, overlaps + + +def blend(a, b, extent, axis): + extent = min(a.shape[axis], b.shape[axis], extent) + if extent == 0: + return b + shape = [1] * b.ndim + shape[axis] = extent + weight = mx.arange(extent, dtype=b.dtype).reshape(shape) / extent + aa, bb, rest = ( + [slice(None)] * b.ndim, + [slice(None)] * b.ndim, + [slice(None)] * b.ndim, + ) + aa[axis], bb[axis], rest[axis] = ( + slice(-extent, None), + slice(0, extent), + slice(extent, None), + ) + mixed = a[tuple(aa)] * (1 - weight) + b[tuple(bb)] * weight + return mx.concatenate((mixed, b[tuple(rest)]), axis=axis) + + +def assemble_tiles(rows, y_overlap, x_overlap): + assembled = [] + for i, row in enumerate(rows): + pieces = [] + for j, tile in enumerate(row): + if i: + tile = blend(rows[i - 1][j], tile, y_overlap[i - 1], -2) + if j: + tile = blend(row[j - 1], tile, x_overlap[j - 1], -1) + if i < len(rows) - 1: + tile = tile[..., : -y_overlap[i], :] + if j < len(row) - 1: + tile = tile[..., : -x_overlap[j]] + pieces.append(tile) + assembled.append(mx.concatenate(pieces, axis=-1)) + return mx.concatenate(assembled, axis=-2) + + +class DecoderBlock: + def __init__(self, store, index, dtype): + p = f"decoder.transformer_blocks.{index}" + self.n1, self.n2 = (store.get(p + f".norm{i}.weight") for i in (1, 2)) + self.s1, self.s2 = (store.get(p + f".scale{i}") for i in (1, 2)) + self.qkv = Linear.load(store, p + ".attn.to_qkv") + self.out = Linear.load(store, p + ".attn.to_out") + self.w1 = Linear.load(store, p + ".ff.w1") + self.w2 = Linear.load(store, p + ".ff.w2") + + def __call__(self, x, rope): + b, n, _ = x.shape + h = rms_norm(x, self.n1) + # VAE QKV is head-interleaved too, but keep its native layout here. + qkv = self.qkv(h).reshape(b, n, 16, 3, 64) + q, k, v = (qkv[:, :, :, i] for i in range(3)) + q, k = rms_norm(q), rms_norm(k) + q, k = rotate(q, *rope), rotate(k, *rope) + a = self.out(attention(q, k, v).reshape(b, n, -1)) + x = x + a * self.s1 + h = rms_norm(x, self.n2) + return x + self.w2(swiglu(self.w1(h))) * self.s2 + + +class VAE: + def __init__( + self, + path, + *, + tile_batch=1, + dtype="bfloat16", + tile_size=256, + compile_blocks=False, + ): + self.path = Path(path) + self.config = json.loads((self.path / "config.json").read_text()) + self.dtype = {"bfloat16": mx.bfloat16, "float32": mx.float32}[dtype] + self.store = WeightStore(self.path, cast=self.dtype) + self.tile_batch, self.tile_size = tile_batch, tile_size + self.blocks = None + self.compile_blocks = compile_blocks + self.runners = [] + + def _load(self): + if self.blocks is not None: + return + s = self.store + self.post = Linear( + s.get("post_quant_conv.weight").reshape(24, 24), + s.get("post_quant_conv.bias"), + ) + self.embed = Linear.load(s, "decoder.x_embedder") + self.register = s.get("decoder.register_tokens") + self.norm_w, self.norm_b = ( + s.get("decoder.norm_out.weight"), + s.get("decoder.norm_out.bias"), + ) + self.out = Linear.load(s, "decoder.proj_out") + self.blocks = [DecoderBlock(s, i, self.dtype) for i in range(24)] + if self.compile_blocks: + for block in self.blocks: + + def forward(x, rope, block=block): + return block(x, rope) + + self.runners.append(mx.compile(forward)) + + def decode_tiles(self, raw): + self._load() + b, c, h, w = raw.shape + # Native image decoder is BF16, including its pointwise convolution. + x = raw.transpose(0, 2, 3, 1).astype(self.dtype) + x = self.embed(self.post(x)).reshape(b, h * w, 1024) + x = mx.concatenate( + ( + x, + mx.broadcast_to(self.register, (b, 4, 1024)), + mx.zeros((b, 1, 1024), self.dtype), + ), + axis=1, + ) + # Coordinates start in latent dtype (BF16), as in released ViT2D. + yy = 2 * ((mx.arange(h, dtype=self.dtype) + mx.array(0.5, self.dtype)) / h) - 1 + xx = 2 * ((mx.arange(w, dtype=self.dtype) + mx.array(0.5, self.dtype)) / w) - 1 + yy, xx = mx.meshgrid(yy, xx, indexing="ij") + positions = mx.stack((yy, xx), axis=-1).reshape(-1, 2) + positions = mx.concatenate((positions, mx.zeros((5, 2), self.dtype)), axis=0) + inv = 1 / (100 ** mx.arange(0, 1, 0.125, dtype=mx.float32)) + scaled = (2 * math.pi * positions.astype(mx.float32)).astype(self.dtype) + angles = (scaled.astype(mx.float32)[..., None] * inv).reshape(h * w + 5, 16) + angles = mx.concatenate((angles, angles), axis=-1) + rope = ( + mx.cos(angles).astype(self.dtype)[None, :, None], + mx.sin(angles).astype(self.dtype)[None, :, None], + ) + for block in self.runners if self.compile_blocks else self.blocks: + x = block(x, rope) + if not self.compile_blocks: + mx.eval(x) + x = layer_norm(x, self.norm_w, self.norm_b) + x = self.out(x)[:, : h * w] + # Output channels are [C, patchH, patchW], matching the VAE checkpoint. + return ( + x.reshape(b, h, w, 3, 16, 16) + .transpose(0, 3, 1, 4, 2, 5) + .reshape(b, 3, h * 16, w * 16) + ) + + def decode(self, latent, *, on_batch=None): + c = self.config + mean = mx.array(c["latents_mean"], mx.float32)[None, :, None, None] + std = mx.array(c["latents_std"], mx.float32)[None, :, None, None] + raw = latent.astype(mx.float32) * std + mean + h, w = raw.shape[-2:] + ys, ylen, yo = split_tiles(h * 16, self.tile_size) + xs, xlen, xo = split_tiles(w * 16, self.tile_size) + tasks = [ + (i, j, raw[..., y // 16 : (y + yl) // 16, x // 16 : (x + xl) // 16]) + for i, (y, yl) in enumerate(zip(ys, ylen, strict=False)) + for j, (x, xl) in enumerate(zip(xs, xlen, strict=False)) + ] + rows = [[None for _ in xs] for _ in ys] + for start in range(0, len(tasks), self.tile_batch): + group = tasks[start : start + self.tile_batch] + tiles = mx.concatenate([t for _, _, t in group], axis=0) + decoded = self.decode_tiles(tiles) + mx.eval(decoded) + for k, (i, j, _) in enumerate(group): + rows[i][j] = decoded[k : k + 1] + if on_batch: + on_batch(start + len(group), len(tasks)) + # Decode tile overlap arithmetic stays in the decoder dtype. + out = assemble_tiles(rows, yo, xo) + # torchvision's inverse Normalize subtracts its inverse mean, then divides. + inv_std = mx.array([1 / 0.229, 1 / 0.224, 1 / 0.225], self.dtype)[ + None, :, None, None + ] + inv_mean = mx.array( + [-0.485 / 0.229, -0.456 / 0.224, -0.406 / 0.225], self.dtype + )[None, :, None, None] + out = mx.clip((out - inv_mean) / inv_std, 0, 1).astype(mx.float32) + mx.eval(out) + return out + + def clear(self): + self.runners.clear() + self.blocks = None + for name in ("post", "embed", "register", "norm_w", "norm_b", "out"): + if hasattr(self, name): + delattr(self, name) + self.store.clear() + gc.collect() + mx.clear_cache() + + +def to_image(pixels, width, height): + array = np.asarray( + mx.clip(pixels[0].transpose(1, 2, 0) * 255, 0, 255).astype(mx.uint8) + ) + image = Image.fromarray(array) + if image.size != (width, height): + image = image.resize((width, height), Image.Resampling.LANCZOS) + return image diff --git a/h3_mlx/vision.py b/h3_mlx/vision.py new file mode 100644 index 0000000000000000000000000000000000000000..d5732071ce1d7ee3644edfceb6aa46ef8901d1da --- /dev/null +++ b/h3_mlx/vision.py @@ -0,0 +1,217 @@ +"""Qwen3-VL image tower, DeepStack, and H3's image-release presentation.""" + +from __future__ import annotations + +import logging +import math + +import mlx.core as mx +import numpy as np +from PIL import Image + +from .ops import attention, layer_norm, rotate +from .weights import Linear + +log = logging.getLogger(__name__) + + +def bound_reference(image, low, high): + short = min(image.size) + if low <= short <= high: + return image + scale = (low if short < low else high) / short + size = tuple(max(32, round(v * scale / 32) * 32) for v in image.size) + return image.resize(size, Image.Resampling.LANCZOS) + + +def preprocess_image(image): + image = bound_reference(image.convert("RGB"), 1024, 1024) + w, h = image.size + if max(w, h) / min(w, h) > 200: + raise ValueError("Reference image aspect ratio is too large") + nh, nw = max(32, round(h / 32) * 32), max(32, round(w / 32) * 32) + if nh * nw > 16777216: + beta = math.sqrt(h * w / 16777216) + nh, nw = ( + max(32, math.floor(h / beta / 32) * 32), + max(32, math.floor(w / beta / 32) * 32), + ) + image = image.resize((nw, nh), Image.Resampling.BICUBIC) + values = (np.asarray(image).astype(np.float32) / 255 - 0.5) / 0.5 + patches = np.stack((values.transpose(2, 0, 1),) * 2) + gh, gw = nh // 16, nw // 16 + patches = patches.reshape(1, 2, 3, gh // 2, 2, 16, gw // 2, 2, 16) + patches = patches.transpose(0, 3, 6, 4, 7, 2, 1, 5, 8).reshape(gh * gw, -1) + return patches, (gh, gw) + + +def image_presentation(encoder, prompt, images): + ids, tags, grids, patches = [], [], [], [] + positions = [] + cursor = 0 + tokenizer, cfg = encoder.tokenizer, encoder.config + + def text(tokens): + nonlocal cursor + ids.extend(tokens) + tags.extend([1] * len(tokens)) + positions.extend([[cursor + i] * 3 for i in range(len(tokens))]) + cursor += len(tokens) + + for index, image in enumerate(images, 1): + patch, (gh, gw) = preprocess_image(image) + patches.append(patch) + grids.append((gh, gw)) + text(tokenizer.encode(f"Picture {index}: ", add_special_tokens=False)[:4096]) + ids.append(cfg["vision_start_token_id"]) + tags.append(0) + positions.append([cursor] * 3) + cursor += 1 + hh, ww = gh // 2, gw // 2 + for y in range(hh): + for x in range(ww): + ids.append(cfg["image_token_id"]) + tags.append(0) + positions.append([cursor, cursor + y, cursor + x]) + cursor += max(hh, ww) + ids.append(cfg["vision_end_token_id"]) + tags.append(0) + positions.append([cursor] * 3) + cursor += 1 + text(tokenizer.encode(prompt, add_special_tokens=False)[:4096]) + pad = -len(ids) % 8 + ids += [0] * pad + positions += [positions[-1]] * pad + return ids, mx.array(tags, mx.int32), np.asarray(positions).T, (patches, grids) + + +def gelu(x, *, approximate=False): + y = x.astype(mx.float32) + if approximate: + y = 0.5 * y * (1 + mx.tanh(math.sqrt(2 / math.pi) * (y + 0.044715 * y * y * y))) + else: + y = 0.5 * y * (1 + mx.erf(y / math.sqrt(2))) + return y.astype(x.dtype) + + +def _merger(store, prefix, x, *, postshuffle=False): + if postshuffle: + x = x.reshape(-1, 4608) + x = layer_norm( + x, store.get(prefix + ".norm.weight"), store.get(prefix + ".norm.bias"), 1e-6 + ) + x = x.reshape(-1, 4608) + return Linear.load(store, prefix + ".linear_fc2")( + gelu(Linear.load(store, prefix + ".linear_fc1")(x)) + ) + + +def _position_embedding(table, h, w): + grid = math.isqrt(table.shape[0]) + yy = np.linspace(0, grid - 1, h, dtype=np.float32) + xx = np.linspace(0, grid - 1, w, dtype=np.float32) + y0, x0 = yy.astype(np.int32), xx.astype(np.int32) + y1, x1 = np.minimum(y0 + 1, grid - 1), np.minimum(x0 + 1, grid - 1) + dy, dx = yy - y0, xx - x0 + indices = [ + (y0[:, None] * grid + x0).ravel(), + (y0[:, None] * grid + x1).ravel(), + (y1[:, None] * grid + x0).ravel(), + (y1[:, None] * grid + x1).ravel(), + ] + weights = [ + ((1 - dy)[:, None] * (1 - dx)).ravel(), + ((1 - dy)[:, None] * dx).ravel(), + (dy[:, None] * (1 - dx)).ravel(), + (dy[:, None] * dx).ravel(), + ] + values = [ + table[mx.array(i)] * mx.array(v).astype(table.dtype)[:, None] + for i, v in zip(indices, weights, strict=False) + ] + out = values[0] + values[1] + values[2] + values[3] + return ( + out.reshape(h // 2, 2, w // 2, 2, -1) + .transpose(0, 2, 1, 3, 4) + .reshape(h * w, -1) + ) + + +def encode_vision(store, config, payload): + patches, grids = payload + prefix = "model.visual" + weight = store.get(prefix + ".patch_embed.proj.weight").reshape( + config["hidden_size"], -1 + ) + embed = Linear(weight, store.get(prefix + ".patch_embed.proj.bias")) + table = store.get(prefix + ".pos_embed.weight") + x = mx.concatenate( + [ + embed(mx.array(p).astype(mx.bfloat16)) + _position_embedding(table, h, w) + for p, (h, w) in zip(patches, grids, strict=False) + ] + ) + coords = [] + for h, w in grids: + yy, xx = np.meshgrid(np.arange(h), np.arange(w), indexing="ij") + c = ( + np.stack((yy, xx), axis=-1) + .reshape(h // 2, 2, w // 2, 2, 2) + .transpose(0, 2, 1, 3, 4) + .reshape(-1, 2) + ) + coords.append(c) + pos = mx.array(np.concatenate(coords), mx.float32) + dim = config["hidden_size"] // config["num_heads"] + inv = 1 / (10000 ** (mx.arange(0, dim // 2, 2, dtype=mx.float32) / (dim // 2))) + angles = (pos[..., None] * inv).reshape(pos.shape[0], dim // 2) + angles = mx.concatenate((angles, angles), axis=-1) + rope = mx.cos(angles)[None, :, None], mx.sin(angles)[None, :, None] + lengths = [h * w for h, w in grids] + deep = [] + for i in range(config["depth"]): + p = f"{prefix}.blocks.{i}" + h = layer_norm( + x, store.get(p + ".norm1.weight"), store.get(p + ".norm1.bias"), 1e-6 + ) + qkv = Linear.load(store, p + ".attn.qkv")(h).reshape( + 1, x.shape[0], 3, config["num_heads"], dim + ) + q, k, v = (qkv[:, :, j] for j in range(3)) + # Vision RoPE computes both products and their sum in FP32, unlike text. + q = rotate(q.astype(mx.float32), *rope).astype(mx.bfloat16) + k = rotate(k.astype(mx.float32), *rope).astype(mx.bfloat16) + chunks, offset = [], 0 + for n in lengths: + chunks.append( + attention( + q[:, offset : offset + n], + k[:, offset : offset + n], + v[:, offset : offset + n], + ).reshape(n, -1) + ) + offset += n + x = x + Linear.load(store, p + ".attn.proj")(mx.concatenate(chunks)) + h = layer_norm( + x, store.get(p + ".norm2.weight"), store.get(p + ".norm2.bias"), 1e-6 + ) + h = gelu(Linear.load(store, p + ".mlp.linear_fc1")(h), approximate=True) + x = x + Linear.load(store, p + ".mlp.linear_fc2")(h) + mx.eval(x) + if i in config["deepstack_visual_indexes"]: + index = config["deepstack_visual_indexes"].index(i) + deep.append( + _merger( + store, + f"{prefix}.deepstack_merger_list.{index}", + x, + postshuffle=True, + ) + ) + mx.eval(deep[-1]) + if (i + 1) % 9 == 0: + log.info("Vision encoder %d/%d", i + 1, config["depth"]) + mx.clear_cache() + out = _merger(store, prefix + ".merger", x) + mx.eval(out) + return out, deep diff --git a/h3_mlx/weights.py b/h3_mlx/weights.py new file mode 100644 index 0000000000000000000000000000000000000000..ed26138b0e5cbd49fd91ac112e22d62f1b97e3d7 --- /dev/null +++ b/h3_mlx/weights.py @@ -0,0 +1,206 @@ +"""Tensor-at-a-time safetensors loading; never load a whole checkpoint to RAM.""" + +from __future__ import annotations + +import gc +import hashlib +import json +import struct +from collections import OrderedDict +from pathlib import Path + +import mlx.core as mx +import numpy as np + + +class WeightStore: + def __init__(self, path, *, cache_gb=0.0, cast=None, reader="mlx"): + self.path = Path(path) + files = ( + [self.path] + if self.path.is_file() + else sorted(self.path.glob("*.safetensors")) + ) + if not files: + raise FileNotFoundError(f"No safetensors weights at {self.path}") + self.index = {} + self.headers = {} + self.data_start = {} + self.cache = OrderedDict() + self.cache_limit = int(cache_gb * 1024**3) + self.cached_bytes = 0 + self.cast = cast + if reader not in ("mlx", "memmap"): + raise ValueError("reader must be mlx or memmap") + self.reader = reader + self.loads = 0 + self.bytes_read = 0 + self.files = files + for file in files: + with file.open("rb") as handle: + raw = handle.read(8) + if len(raw) != 8: + raise ValueError(f"Truncated safetensors header: {file}") + length = struct.unpack(" 100_000_000: + raise ValueError(f"Invalid safetensors header size: {file}") + header = json.loads(handle.read(length)) + self.data_start[file] = 8 + length + for name, spec in header.items(): + if name == "__metadata__": + continue + if name in self.index: + raise ValueError(f"Duplicate tensor {name} in {self.path}") + self.index[name] = file + self.headers[name] = spec + + def __contains__(self, key): + return key in self.index + + def fingerprint(self): + # Source identity for cache invalidation, not a content-integrity checksum. + info = [ + (str(p.resolve()), p.stat().st_size, p.stat().st_mtime_ns) + for p in self.files + ] + return hashlib.sha256(json.dumps(info).encode()).hexdigest() + + def get(self, key, *, rows=None, cache=True): + if rows is None and key in self.cache: + self.cache.move_to_end(key) + return self.cache[key] + if key not in self.index: + raise KeyError(f"Missing checkpoint tensor {key} in {self.path}") + # safetensors' Python MLX adapter routes BF16 through NumPy, which has + # no BF16 dtype. Map its uint16 payload directly and bitcast in MLX. + spec, file = self.headers[key], self.index[key] + dtypes = { + "BF16": " self.cache_limit: + _, old = self.cache.popitem(last=False) + self.cached_bytes -= old.nbytes + self.cache[key] = value + self.cached_bytes += value.nbytes + return value + + def group(self, prefix, *, exclude=()): + return { + k[len(prefix) :]: self.get(k) + for k in self.index + if k.startswith(prefix) and not any(s in k for s in exclude) + } + + def clear(self): + self.cache.clear() + self.cached_bytes = 0 + gc.collect() + mx.clear_cache() + + +class Linear: + def __init__( + self, weight, bias=None, scales=None, qbiases=None, bits=8, group_size=64 + ): + self.weight = weight + self.bias = bias + self.scales = scales + self.qbiases = qbiases + self.bits = bits + self.group_size = group_size + + @classmethod + def load(cls, store, prefix, *, bits=None, group_size=64, grouped_heads=None): + # Converted MLX quantized tensors use .scales/.biases, independently of bias. + if prefix + ".scales" in store: + meta = json.loads((store.path / "quantization.json").read_text()) + return cls( + store.get(prefix + ".weight"), + store.get(prefix + ".bias") if prefix + ".bias" in store else None, + store.get(prefix + ".scales"), + store.get(prefix + ".biases"), + meta["bits"], + meta["group_size"], + ) + w = store.get(prefix + ".weight") + b = store.get(prefix + ".bias") if prefix + ".bias" in store else None + # Original H3 QKV is [head, qkv, dim, input], unlike MLX [qkv, head, dim, input]. + if grouped_heads is not None: + heads, dim = grouped_heads + w = w.reshape(heads, 3, dim, -1).transpose(1, 0, 2, 3).reshape(w.shape) + if b is not None: + b = b.reshape(heads, 3, dim).transpose(1, 0, 2).reshape(b.shape) + if bits is not None and w.dtype != mx.float32: + q, s, z = mx.quantize(w, bits=bits, group_size=group_size) + mx.eval(q, s, z) + return cls(q, b, s, z, bits, group_size) + mx.eval(w) + return cls(w, b) + + @property + def dtype(self): + return self.scales.dtype if self.scales is not None else self.weight.dtype + + @property + def nbytes(self): + return sum( + x.nbytes + for x in (self.weight, self.bias, self.scales, self.qbiases) + if x is not None + ) + + def __call__(self, x): + x = x.astype(self.dtype) + if self.scales is None: + # One BF16 rounding after the bias epilogue, as in torch F.linear. + return ( + x @ self.weight.T + if self.bias is None + else mx.addmm(self.bias, x, self.weight.T) + ) + else: + out = mx.quantized_matmul( + x, + self.weight, + self.scales, + self.qbiases, + transpose=True, + group_size=self.group_size, + bits=self.bits, + ) + return out if self.bias is None else out + self.bias diff --git a/optimization/lessons/minimax-h3-r3-exact-qk-fc2.json b/optimization/lessons/minimax-h3-r3-exact-qk-fc2.json new file mode 100644 index 0000000000000000000000000000000000000000..45ff813f2e243766b719b06fd5d2d8ada97b66f2 --- /dev/null +++ b/optimization/lessons/minimax-h3-r3-exact-qk-fc2.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "id": "minimax-h3-r3-exact-qk-fc2", + "title": "Native reduction matching gives exact M5 QK fusion; whole-image memory still decides", + "tags": [ + "rmsnorm", + "rope", + "bf16", + "m5", + "gemm", + "physical-footprint", + "operator-to-pipeline" + ], + "decision": "accepted", + "evidence_level": "observed", + "mechanism": "Four contiguous BF16 reads per SIMD lane and precise rsqrt reproduce installed MLX RMSNorm before the affine/partial-RoPE BF16 boundaries. M5 FC2 benefits from a 64x128x512 TensorOps tile with four SIMD groups and an eight-row tile walk.", + "recommendation": "Use the measured M5 Pro/MLX 0.32.4 QK producer and shape-qualified FC2 tile, with native full-width norms and native fallback outside the qualified scope. Require bitwise trajectories and paired full-image receipts; do not infer a deployment win from a kernel ratio.", + "counterexample": "The 1024-thread full-width fusion was exact and faster in a block, but the complete timed population used 1.04094% more physical memory and missed its 1% gate. BK2048 improved an operator but regressed the block by 0.19%. A 512MiB allocator cache was 1.65% slower in the block screen and did not reduce sampled physical peak.", + "retest_when": "Retest after MLX reduction/dispatch changes, a new GPU/Metal driver, different projection shapes, or changes to opaque-kernel buffer lifetimes. Wider norm fusion and larger K panels may deserve new pipeline tests under those changed mechanisms.", + "scope": { + "projects": [ + "minimax-h3-image-mlx" + ], + "hardware": [ + "Apple M5 Pro, 16 GPU cores, 64GiB unified memory" + ], + "runtime": [ + "MLX/MLX Metal 0.32.4; macOS 27.0.1; AC Automatic power" + ], + "workloads": [ + "Two 2048-square timing cases, three paired repeats each; four exact full-image/trajectory quality cases including a detail prompt and one edit. Dense BF16 storage in this lesson; not a new packed-storage qualification." + ] + }, + "evidence": [ + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/qk-deployment/comparison.json", + "sha256": "346409df254b31a692f4d031c1363efd35ba9638db494e4bf5f13afe3b6d31ad" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/qk-deployment/quality-audit.json", + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/deployment/comparison.json", + "sha256": "5438ce89ced53d19913534af51cb1e20d6d11e98794a5b7a986ba07480a393d8" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/norm.json", + "sha256": "473e30d475788737cf7e45349ef94c0330f527a5011d9a8d3c8590822a87e3e7" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/panel.json", + "sha256": "7c1d64f439912eccdf0b959b3c3e460046b5737aec04959642a9ec90a76c9ce8" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/cache-screen.json", + "sha256": "568b51938cf5f02a94c14d47298fa225d98b5ae384200dac0e4b55a1e91c6009" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/embedding/summary.json", + "sha256": "dabdba5b4d3b9cebbccfc43671014971ba26216c96e52d50054e050c2ff676d9" + } + ], + "supersedes": [] +} diff --git a/optimization/lessons/minimax-h3-r3-packed-exact-tuning.json b/optimization/lessons/minimax-h3-r3-packed-exact-tuning.json new file mode 100644 index 0000000000000000000000000000000000000000..0dee2c9df07ac33e9125862a824e7c49e94befc8 --- /dev/null +++ b/optimization/lessons/minimax-h3-r3-packed-exact-tuning.json @@ -0,0 +1,56 @@ +{ + "schema_version": 1, + "id": "minimax-h3-r3-packed-exact-tuning", + "title": "Exact QK/FC2 tuning survives lossless BF16 storage on M5 Pro", + "tags": [ + "packed-weights", + "bf16", + "memory", + "m5", + "dynamic-inputs", + "gemm" + ], + "decision": "accepted", + "evidence_level": "observed", + "mechanism": "Compressed arrays remain explicit dynamic inputs to each compiled block, then reconstruct the original BF16 bits before native projections or the selected FC2 TensorOps kernel. Exact QK fusion operates on the same reconstructed projection outputs.", + "recommendation": "Use existing packed12 storage when lower physical footprint is needed, together with the qualified QK/FC2 mode. Compare against its own packed control and retain native dense storage for the lowest observed latency. Reuse the source-bound cache rather than making another model copy.", + "counterexample": "Faster vector reconstruction alone did not establish a useful decode-plus-GEMM gain, and is not shipped. Dense and packed timings from different campaigns are not a paired storage-speed comparison.", + "retest_when": "Retest after codec, MLX compiler constant-folding, Metal matrix dispatch, hardware or token-range changes. Inspect full physical footprint as well as output equality; a retained dense constant can erase the storage benefit.", + "scope": { + "projects": [ + "minimax-h3-image-mlx" + ], + "hardware": [ + "Apple M5 Pro, 16 GPU cores, 64GiB unified memory" + ], + "runtime": [ + "MLX/MLX Metal 0.32.4; macOS27.0.1" + ], + "workloads": [ + "Four reused full-image/trajectory quality cases; product and portrait three paired warm repeats each. 3.5667% latency reduction vs packed control; 31.83GiB maximum timed physical peak, 32.56GiB across all candidate cases." + ] + }, + "evidence": [ + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/compact-deployment/comparison.json", + "sha256": "f04c312015382fdfd7cd021df6168d7729344594ee7c4ac2143b18f4b503c66c" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/compact-deployment/quality-audit.json", + "sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/wheel-cli.json", + "sha256": "813384da8643af0ea86432df03aaaab840fbac9f1133e84e9d9497116ef95fd5" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/screen.json", + "sha256": "58675fb0df998d08b52c9fe4258cedf708ce638c914f628eb0b417ee27993c8f" + } + ], + "supersedes": [] +} diff --git a/optimization/round-03-compact/contract.json b/optimization/round-03-compact/contract.json new file mode 100644 index 0000000000000000000000000000000000000000..7d19576df721fd9863c8c7ad2d06436232899643 --- /dev/null +++ b/optimization/round-03-compact/contract.json @@ -0,0 +1,35 @@ +{ + "schema_version": 1, + "campaign_id": "h3-m5pro-round-03-compact", + "objective": "latency", + "quality_cases": [ + "product", + "portrait", + "edit", + "holdout-detail" + ], + "timing_cases": [ + "product", + "portrait" + ], + "quality_gates": { + "max_abs_error": { + "direction": "max", + "limit": 0 + }, + "nonfinite_values": { + "direction": "max", + "limit": 0 + } + }, + "workload_manifest_sha256": "8d14bb9873982547f69bbbd13e2a1e645f97454f14428220aa78001d4f843b13", + "reference_sha256": "5fccbc8664a6efb3f9ff7e14b764c1aae876785fc28fd492dbb6c24b1b773a8b", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "min_repeats": 3, + "min_latency_reduction_pct": 2, + "min_memory_reduction_pct": 3, + "max_latency_regression_pct": 0, + "max_memory_regression_pct": 5, + "peak_memory_limit_bytes": 42949672960, + "search_budget": "At most 40 minutes and two complete configurations: current packed12 champion vs same storage plus exact fusions/FC2. Same 4 quality and 2 timing cases, three paired warm repeats, <=1.5 GiB additional disk. One GPU job at a time. Start after dense campaign, global experiment deadline 10:02 UTC. Reused validation cases, not fresh holdouts." +} diff --git a/optimization/round-03-compact/evaluator.json b/optimization/round-03-compact/evaluator.json new file mode 100644 index 0000000000000000000000000000000000000000..1d15be1d32e53a6826fafff5b184a62e2deb7244 --- /dev/null +++ b/optimization/round-03-compact/evaluator.json @@ -0,0 +1,9 @@ +{ + "files": { + "h3_mlx/compare.py": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095", + "h3_mlx/reference.py": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e", + "tests/test_numerics.py": "373eb2f050ae101316dfd3a5f8a86eb74ceda98e180690b5c22094b4aad106dc" + }, + "exact_metric": "maximum absolute decoded uint8 pixel error over all cases; nonfinite trace values must be zero", + "numerical_screen": "Only if separately classified: per-case SSIM >=0.9995, MAE <=0.1/255, max RGB error <=4; visual crop review still required. No promotion from metrics alone." +} diff --git a/optimization/round-03-compact/lesson.json b/optimization/round-03-compact/lesson.json new file mode 100644 index 0000000000000000000000000000000000000000..0dee2c9df07ac33e9125862a824e7c49e94befc8 --- /dev/null +++ b/optimization/round-03-compact/lesson.json @@ -0,0 +1,56 @@ +{ + "schema_version": 1, + "id": "minimax-h3-r3-packed-exact-tuning", + "title": "Exact QK/FC2 tuning survives lossless BF16 storage on M5 Pro", + "tags": [ + "packed-weights", + "bf16", + "memory", + "m5", + "dynamic-inputs", + "gemm" + ], + "decision": "accepted", + "evidence_level": "observed", + "mechanism": "Compressed arrays remain explicit dynamic inputs to each compiled block, then reconstruct the original BF16 bits before native projections or the selected FC2 TensorOps kernel. Exact QK fusion operates on the same reconstructed projection outputs.", + "recommendation": "Use existing packed12 storage when lower physical footprint is needed, together with the qualified QK/FC2 mode. Compare against its own packed control and retain native dense storage for the lowest observed latency. Reuse the source-bound cache rather than making another model copy.", + "counterexample": "Faster vector reconstruction alone did not establish a useful decode-plus-GEMM gain, and is not shipped. Dense and packed timings from different campaigns are not a paired storage-speed comparison.", + "retest_when": "Retest after codec, MLX compiler constant-folding, Metal matrix dispatch, hardware or token-range changes. Inspect full physical footprint as well as output equality; a retained dense constant can erase the storage benefit.", + "scope": { + "projects": [ + "minimax-h3-image-mlx" + ], + "hardware": [ + "Apple M5 Pro, 16 GPU cores, 64GiB unified memory" + ], + "runtime": [ + "MLX/MLX Metal 0.32.4; macOS27.0.1" + ], + "workloads": [ + "Four reused full-image/trajectory quality cases; product and portrait three paired warm repeats each. 3.5667% latency reduction vs packed control; 31.83GiB maximum timed physical peak, 32.56GiB across all candidate cases." + ] + }, + "evidence": [ + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/compact-deployment/comparison.json", + "sha256": "f04c312015382fdfd7cd021df6168d7729344594ee7c4ac2143b18f4b503c66c" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/compact-deployment/quality-audit.json", + "sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/wheel-cli.json", + "sha256": "813384da8643af0ea86432df03aaaab840fbac9f1133e84e9d9497116ef95fd5" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/screen.json", + "sha256": "58675fb0df998d08b52c9fe4258cedf708ce638c914f628eb0b417ee27993c8f" + } + ], + "supersedes": [] +} diff --git a/optimization/round-03-compact/reference.json b/optimization/round-03-compact/reference.json new file mode 100644 index 0000000000000000000000000000000000000000..89f64ffc952c88c3d144294b5f97d4e0fcc9b3da --- /dev/null +++ b/optimization/round-03-compact/reference.json @@ -0,0 +1,27 @@ +{ + "anchors": { + "product": { + "path": "outputs/optimization-r3/product/control-timed-2.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + "portrait": { + "path": "outputs/optimization-r3/portrait/control-warmup--1.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "trace_sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + "holdout-detail": { + "path": "outputs/optimization-r3/holdout-detail/control-warmup--1.png", + "png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038", + "trace_sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + "edit": { + "path": "outputs/optimization-r3/edit/control-warmup--1.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "trace_sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + } + }, + "foundation_manifest": "provenance/sources.json", + "foundation_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "scope": "Incremental identity to original MLX BF16 recipe, not CUDA/FP32 equality." +} diff --git a/optimization/round-03-compact/workload.json b/optimization/round-03-compact/workload.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc994974c57e767cbb44e3bfc596b7ac4e0fc30 --- /dev/null +++ b/optimization/round-03-compact/workload.json @@ -0,0 +1,54 @@ +{ + "cases": [ + { + "id": "product", + "width": 2048, + "height": 2048, + "seed": 731, + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text." + }, + { + "id": "portrait", + "width": 2048, + "height": 2048, + "seed": 1234, + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering." + }, + { + "id": "edit", + "width": 1024, + "height": 1024, + "seed": 42, + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "images": [ + "experiments/reference-bottle.png" + ] + }, + { + "id": "holdout-detail", + "width": 2048, + "height": 2048, + "seed": 928417, + "prompt": "A meticulous natural light still life on a wooden watchmaker's bench: a silver mechanical wristwatch with a clear glass back, brass gears and hair-thin springs, a folded cream linen glove, a small matte ceramic bowl and a card reading 'SECOND LIGHT'. In the background a woman with warm brown freckled skin holds a magnifying lens, her hands realistically detailed. Fine brushed metal, subtle skin pores, smooth dark-to-light blue gradients and soft window reflections, editorial macro photography." + } + ], + "timing_cases": [ + "product", + "portrait" + ], + "control_config": { + "wired_gb": 32, + "compile_blocks": true, + "eval_every": 0, + "prefetch_blocks": 4, + "vae_batch": 4, + "vae_compile": true, + "cache_refined_text": true, + "weight_storage": "packed12", + "rng": "torch", + "six_original_steps": true, + "kernel": "native" + }, + "holdout_rule": "Same fixed suite as round 03; these are reused validation cases and not fresh blind holdouts.", + "shape_fallback_validation": "native-4k uses existing reference and no tile outside measured shape gets auto dispatch" +} diff --git a/optimization/round-03/abi-check.json b/optimization/round-03/abi-check.json new file mode 100644 index 0000000000000000000000000000000000000000..b35bd90d1917e7d80b48f0c11acf33ec89433e00 --- /dev/null +++ b/optimization/round-03/abi-check.json @@ -0,0 +1,14 @@ +{ + "sdk_header": "sys/resource.h, struct rusage_info_v4", + "ctypes_bytes": 296, + "sdk_sizeof_bytes": 296, + "ctypes_offsets": { + "ri_phys_footprint": 72, + "ri_lifetime_max_phys_footprint": 240 + }, + "sdk_offsets": { + "ri_phys_footprint": 72, + "ri_lifetime_max_phys_footprint": 240 + }, + "method": "Compiled C sizeof/offsetof with xcrun clang and compared to ctypes; tool output retained in session. These overlapping macOS ledger counters must not be added to MLX memory." +} diff --git a/optimization/round-03/baseline-code.json b/optimization/round-03/baseline-code.json new file mode 100644 index 0000000000000000000000000000000000000000..e74438141b32eb3e5ffafb707c05a23685c0195c --- /dev/null +++ b/optimization/round-03/baseline-code.json @@ -0,0 +1,21 @@ +{ + "h3_mlx/__init__.py": "d0997d9e18dfbe918635e49d6390ff892aeb96c02484841f6c5d0ff8cc17f226", + "h3_mlx/__main__.py": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279", + "h3_mlx/benchmark.py": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6", + "h3_mlx/cli.py": "1e53be2de3e67013c1ac597dfc16bb976196b623d492176ef4b31f71c1772ac0", + "h3_mlx/compare.py": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095", + "h3_mlx/config.py": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168", + "h3_mlx/convert.py": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0", + "h3_mlx/coreml_vae.py": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2", + "h3_mlx/dit.py": "d988d48a38e06622a3b55f22103a88b6501d37cec70ffa0bf4e3ce294d412c6a", + "h3_mlx/encoder.py": "386bbde46357c52c5dc32de26127f5b6714e6d14a6ad39802e1004f115ec62ad", + "h3_mlx/kernels.py": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d", + "h3_mlx/layout.py": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1", + "h3_mlx/ops.py": "d8f00859df35b8df4e7f881f21bc964d2f9091bdd1f6ebdf8211f2d32878a221", + "h3_mlx/packed.py": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde", + "h3_mlx/reference.py": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e", + "h3_mlx/runtime.py": "588fdf5918dc5d70438e07de814869c8ca62ed6411282e0acb23626e1b52e759", + "h3_mlx/vae.py": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0", + "h3_mlx/vision.py": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea", + "h3_mlx/weights.py": "62f1348249599c0bc5ae6b2f1231ee521ebe852889800d99e1e17f1d94abcfbb" +} diff --git a/optimization/round-03/cache-candidate.json b/optimization/round-03/cache-candidate.json new file mode 100644 index 0000000000000000000000000000000000000000..5684879e6bd7e43df579770e5c65c1824acbbbaa --- /dev/null +++ b/optimization/round-03/cache-candidate.json @@ -0,0 +1,23 @@ +{ + "id": "qk-fc2-cache", + "change_class": "exact", + "hypothesis": "A 512 MiB free-allocator cache can remove the small physical-footprint regression of the fused path while retaining its speed. It cannot reduce live model memory.", + "candidate_config": { + "kernel": "metal-exact", + "tune_matmul": true, + "allocator_cache_gb": 0.5 + }, + "control_allocator_cache_gb": 1, + "reject_if": "Full declared quality/timing/memory contract fails; do not change gates or pool samples from other campaigns.", + "screen_before_full": "Real compiled block at both cache limits; no GPU concurrency.", + "bounded_search": "One additional full-image finalist at most, within original 120-minute and 5GiB global budget. No inference-code edits until current benchmark completes.", + "result": { + "decision": "rejected-at-block-screen", + "evidence": "reports/optimization-r3/cache-screen.json", + "slowdown_pct": 1.6453551990850412, + "cache_1_peak_physical_bytes": 2387051720, + "cache_05_peak_physical_bytes": 2581791944, + "accuracy": "all BF16 block outputs identical", + "scope": "Isolated real first block; does not establish whole-image behavior. No allocator-limit change shipped." + } +} diff --git a/optimization/round-03/contract.json b/optimization/round-03/contract.json new file mode 100644 index 0000000000000000000000000000000000000000..f367d5b48f0c218af0094b32216aac56f30ef0f2 --- /dev/null +++ b/optimization/round-03/contract.json @@ -0,0 +1,35 @@ +{ + "schema_version": 1, + "campaign_id": "h3-m5pro-round-03", + "objective": "latency", + "quality_cases": [ + "product", + "portrait", + "edit", + "holdout-detail" + ], + "timing_cases": [ + "product", + "portrait" + ], + "quality_gates": { + "max_abs_error": { + "direction": "max", + "limit": 0 + }, + "nonfinite_values": { + "direction": "max", + "limit": 0 + } + }, + "workload_manifest_sha256": "5dfe34824190abd241185fd37214e3de5be425d82f0a6f556d0d23f0dec68042", + "reference_sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "min_repeats": 3, + "min_latency_reduction_pct": 2, + "min_memory_reduction_pct": 3, + "max_latency_regression_pct": 0, + "max_memory_regression_pct": 1, + "peak_memory_limit_bytes": 53687091200, + "search_budget": "120 minutes from 08:02 UTC, at most 72 MPP GEMM tiles, 6 attention layouts and 12 unpack settings, three full-image finalists, one GPU job at a time, <=5 GiB additional disk. Exact track first. Early reject on no gain. Parent process physical footprint sampled at 100ms; allocator peak reported separately. Warm paired product/portrait repeats, alternate AB/BA; first-load separately. No background user applications changed." +} diff --git a/optimization/round-03/evaluator.json b/optimization/round-03/evaluator.json new file mode 100644 index 0000000000000000000000000000000000000000..1d15be1d32e53a6826fafff5b184a62e2deb7244 --- /dev/null +++ b/optimization/round-03/evaluator.json @@ -0,0 +1,9 @@ +{ + "files": { + "h3_mlx/compare.py": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095", + "h3_mlx/reference.py": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e", + "tests/test_numerics.py": "373eb2f050ae101316dfd3a5f8a86eb74ceda98e180690b5c22094b4aad106dc" + }, + "exact_metric": "maximum absolute decoded uint8 pixel error over all cases; nonfinite trace values must be zero", + "numerical_screen": "Only if separately classified: per-case SSIM >=0.9995, MAE <=0.1/255, max RGB error <=4; visual crop review still required. No promotion from metrics alone." +} diff --git a/optimization/round-03/hypotheses.json b/optimization/round-03/hypotheses.json new file mode 100644 index 0000000000000000000000000000000000000000..fa9f49dbd1194ceca9f6800723b18008115c7682 --- /dev/null +++ b/optimization/round-03/hypotheses.json @@ -0,0 +1,43 @@ +{ + "queue": [ + { + "id": "head-layout", + "class": "exact-or-numerical", + "mechanism": "Contiguous per-head Q/K/V might remove strided memory access; count copy costs. Reject no operator/block win or quality gate." + }, + { + "id": "m5-fc2-tiles", + "class": "exact-or-numerical", + "mechanism": "Native FC2 K=14336 selects BK64; test MPP BK128/256/512 and cache walk. FP32 accumulation, BF16 epilogue. Full trajectory validates reduction changes." + }, + { + "id": "vector-unpack", + "class": "exact", + "mechanism": "Reconstruct 2/4/8 lossless BF16 lanes per thread, fewer redundant nibble loads. Decode+GEMM and full packed block must improve." + }, + { + "id": "sparse-embedding", + "class": "exact", + "mechanism": "Read only actual token rows, avoiding loading 1.45GiB vocabulary on cold encoding; measure phase-specific peak." + }, + { + "id": "exact-qk-rope", + "class": "numerical-until-proven", + "mechanism": "Replicate native RMS reduction and cast order in one head-major producer. Retain native fallback." + } + ], + "deprioritized": [ + { + "mechanism": "CoreML CPU/GPU/ANE/all VAE", + "reason": "Already measured complete images in v2. All-GPU ~MLX speed, ANE slower and b8 corrupted tiles; VAE <=3% total latency limits payoff." + }, + { + "mechanism": "Unscaled FP16 GEMM, skipped flow heads, approximate Q4/Q8", + "reason": "Actual full trajectories previously failed finite or visual accuracy gates." + }, + { + "mechanism": "MPS/CPU dense, whole DiT CoreML export", + "reason": "Prior real operator tests did not identify a throughput advantage; huge export/compile and memory cost. Revisit only if a new operator mechanism qualifies." + } + ] +} diff --git a/optimization/round-03/lesson.json b/optimization/round-03/lesson.json new file mode 100644 index 0000000000000000000000000000000000000000..45ff813f2e243766b719b06fd5d2d8ada97b66f2 --- /dev/null +++ b/optimization/round-03/lesson.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "id": "minimax-h3-r3-exact-qk-fc2", + "title": "Native reduction matching gives exact M5 QK fusion; whole-image memory still decides", + "tags": [ + "rmsnorm", + "rope", + "bf16", + "m5", + "gemm", + "physical-footprint", + "operator-to-pipeline" + ], + "decision": "accepted", + "evidence_level": "observed", + "mechanism": "Four contiguous BF16 reads per SIMD lane and precise rsqrt reproduce installed MLX RMSNorm before the affine/partial-RoPE BF16 boundaries. M5 FC2 benefits from a 64x128x512 TensorOps tile with four SIMD groups and an eight-row tile walk.", + "recommendation": "Use the measured M5 Pro/MLX 0.32.4 QK producer and shape-qualified FC2 tile, with native full-width norms and native fallback outside the qualified scope. Require bitwise trajectories and paired full-image receipts; do not infer a deployment win from a kernel ratio.", + "counterexample": "The 1024-thread full-width fusion was exact and faster in a block, but the complete timed population used 1.04094% more physical memory and missed its 1% gate. BK2048 improved an operator but regressed the block by 0.19%. A 512MiB allocator cache was 1.65% slower in the block screen and did not reduce sampled physical peak.", + "retest_when": "Retest after MLX reduction/dispatch changes, a new GPU/Metal driver, different projection shapes, or changes to opaque-kernel buffer lifetimes. Wider norm fusion and larger K panels may deserve new pipeline tests under those changed mechanisms.", + "scope": { + "projects": [ + "minimax-h3-image-mlx" + ], + "hardware": [ + "Apple M5 Pro, 16 GPU cores, 64GiB unified memory" + ], + "runtime": [ + "MLX/MLX Metal 0.32.4; macOS 27.0.1; AC Automatic power" + ], + "workloads": [ + "Two 2048-square timing cases, three paired repeats each; four exact full-image/trajectory quality cases including a detail prompt and one edit. Dense BF16 storage in this lesson; not a new packed-storage qualification." + ] + }, + "evidence": [ + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/qk-deployment/comparison.json", + "sha256": "346409df254b31a692f4d031c1363efd35ba9638db494e4bf5f13afe3b6d31ad" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/qk-deployment/quality-audit.json", + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/deployment/comparison.json", + "sha256": "5438ce89ced53d19913534af51cb1e20d6d11e98794a5b7a986ba07480a393d8" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/norm.json", + "sha256": "473e30d475788737cf7e45349ef94c0330f527a5011d9a8d3c8590822a87e3e7" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/panel.json", + "sha256": "7c1d64f439912eccdf0b959b3c3e460046b5737aec04959642a9ec90a76c9ce8" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/cache-screen.json", + "sha256": "568b51938cf5f02a94c14d47298fa225d98b5ae384200dac0e4b55a1e91c6009" + }, + { + "project": "minimax-h3-image-mlx", + "path": "reports/optimization-r3/embedding/summary.json", + "sha256": "dabdba5b4d3b9cebbccfc43671014971ba26216c96e52d50054e050c2ff676d9" + } + ], + "supersedes": [] +} diff --git a/optimization/round-03/receipt.json b/optimization/round-03/receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..14ffde49f58151ac18af1f5945a293f0e3207216 --- /dev/null +++ b/optimization/round-03/receipt.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "id": "r3-deployment-qk-fc2-native-norm", + "campaign_id": "h3-m5pro-round-03", + "contract_sha256": "cbd4ce596524b59629216716299ee8677b10f49140de962384153aaaa2e55dec", + "complete": true, + "change_class": "exact", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "qk-fc2-native-norm", + "code_sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "d8ede93ee4766952aa052d0f550a675508f271dcd04c064747713fdf8c4cc24e", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2-native-norm", + "--workload", + "optimization/round-03/workload.json", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-qk" + ] + }, + "quality": { + "variant_sha256": "11f7dd242ba190be2c0fd67530140cd7da6154960cdd902126b7ebb3a56f3ec6", + "reference_sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 63.90098704188131, + "peak_memory_bytes": 42450606784, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 64.23788916692138, + "peak_memory_bytes": 42492910320, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 61.27363566705026, + "peak_memory_bytes": 42598718264, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 60.65490966709331, + "peak_memory_bytes": 42673544112, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 61.10937987500802, + "peak_memory_bytes": 42671692696, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 62.00676687504165, + "peak_memory_bytes": 42665237448, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-qk/runs.jsonl", + "sha256": "ec303dd7f11fa79c1539a424d04ff9dc9f427a3d4181a7957199b7dc6ee6b9c8" + }, + { + "path": "outputs/optimization-r3-qk/source-manifest.json", + "sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea" + }, + { + "path": "reports/optimization-r3/qk-deployment/quality-audit.json", + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + { + "path": "reports/optimization-r3/qk-deployment/summary.json", + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/optimization/round-03/reference.json b/optimization/round-03/reference.json new file mode 100644 index 0000000000000000000000000000000000000000..90e840b287f7198725ea1d836ad8a56b8ea3a376 --- /dev/null +++ b/optimization/round-03/reference.json @@ -0,0 +1,18 @@ +{ + "incremental_anchors": { + "product": { + "path": "outputs/suite/product/native-3.png", + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + "portrait": { + "path": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + } + }, + "precision_oracle": { + "source_manifest": "provenance/sources.json", + "sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "description": "Previously audited official BF16 model recipe and independent ATen primitive checks; this round tests incremental losslessness against immutable outputs, not an independent full original GPU reproduction." + }, + "missing_cases": "Fresh control outputs for edit/holdout are generated before candidate validation and cannot be used for tuning." +} diff --git a/optimization/round-03/workload.json b/optimization/round-03/workload.json new file mode 100644 index 0000000000000000000000000000000000000000..e68cca65ddec17624e6cef7abebbda5d377a2289 --- /dev/null +++ b/optimization/round-03/workload.json @@ -0,0 +1,54 @@ +{ + "cases": [ + { + "id": "product", + "width": 2048, + "height": 2048, + "seed": 731, + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text." + }, + { + "id": "portrait", + "width": 2048, + "height": 2048, + "seed": 1234, + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering." + }, + { + "id": "edit", + "width": 1024, + "height": 1024, + "seed": 42, + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "images": [ + "experiments/reference-bottle.png" + ] + }, + { + "id": "holdout-detail", + "width": 2048, + "height": 2048, + "seed": 928417, + "prompt": "A meticulous natural light still life on a wooden watchmaker's bench: a silver mechanical wristwatch with a clear glass back, brass gears and hair-thin springs, a folded cream linen glove, a small matte ceramic bowl and a card reading 'SECOND LIGHT'. In the background a woman with warm brown freckled skin holds a magnifying lens, her hands realistically detailed. Fine brushed metal, subtle skin pores, smooth dark-to-light blue gradients and soft window reflections, editorial macro photography." + } + ], + "timing_cases": [ + "product", + "portrait" + ], + "control_config": { + "wired_gb": 42, + "compile_blocks": true, + "eval_every": 0, + "prefetch_blocks": 4, + "vae_batch": 4, + "vae_compile": true, + "cache_refined_text": true, + "weight_storage": "bf16", + "rng": "torch", + "six_original_steps": true, + "kernel": "native" + }, + "holdout_rule": "holdout-detail and edit are validation only; do not tune against them", + "shape_fallback_validation": "native-4k uses existing reference and no tile outside measured shape gets auto dispatch" +} diff --git a/provenance/implementation-sha256.json b/provenance/implementation-sha256.json new file mode 100644 index 0000000000000000000000000000000000000000..443d4dac8af644c60b71f19b8a7b1c4999f377bc --- /dev/null +++ b/provenance/implementation-sha256.json @@ -0,0 +1,29 @@ +{ + "experiments/audit_modulation.py": "f0c0519f64d346457ef829049d136cccb5b023a47a065db8d6bbbdceebfb4ece", + "experiments/build_report.py": "09f50a5732f4083d2d5afe87a286fb731fa9174206cff2823b0fe3e97ad7d761", + "experiments/final_bf16.py": "e2d4a0ac4693455c2eb3efc9befbbefa8e7141c81a8cbd17bf5981fa118effe2", + "experiments/redecode.py": "fd772814e88d3cd7840ac4b225e641c92153104d7816df1002e64d8bc6299f51", + "experiments/run_suite.py": "27b7c1c4c2f8f4a9c5512e00cdf9d4218460c67353c413234701ffceae56a8fc", + "experiments/tune_vae.py": "a0d9950f229219df7279e913ba5208dafe9912a721a3136858ab9238313d6d24", + "h3_mlx/__init__.py": "d0997d9e18dfbe918635e49d6390ff892aeb96c02484841f6c5d0ff8cc17f226", + "h3_mlx/__main__.py": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279", + "h3_mlx/benchmark.py": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6", + "h3_mlx/cli.py": "1e374e26a8d9a653f82c6f868b17695e3cdeb414c867d147e78d60f25d21d505", + "h3_mlx/compare.py": "82a4182a617c7bdabb796ac6f28dd667fcb29a38a039d77824906416d352395b", + "h3_mlx/config.py": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168", + "h3_mlx/convert.py": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0", + "h3_mlx/dit.py": "21bfcfe58f125a2258548072296d3c2831088a8c4875880a346798be998d8cde", + "h3_mlx/encoder.py": "386bbde46357c52c5dc32de26127f5b6714e6d14a6ad39802e1004f115ec62ad", + "h3_mlx/kernels.py": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d", + "h3_mlx/layout.py": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1", + "h3_mlx/ops.py": "d8f00859df35b8df4e7f881f21bc964d2f9091bdd1f6ebdf8211f2d32878a221", + "h3_mlx/reference.py": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e", + "h3_mlx/runtime.py": "7bcfea87fe0f60d9749fc516e8d3a5f9c3ff3580c2a7381c068c1a4070597e5d", + "h3_mlx/vae.py": "df1125695e12cf802e62a8b267bb713ece2e4a0e9f764e1dbfb5978184b63004", + "h3_mlx/vision.py": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea", + "h3_mlx/weights.py": "3fd490a6aeb910a7b8c426f034e07f448178619ed6430e00d2d2e1ce15e232f6", + "pyproject.toml": "c09b616b3ff91dbe99804db08398cd23669b1212a035b25fca06e4d6db0e36ef", + "tests/test_conversion.py": "411b571336dbab4d6c46074a67f1894318d5ccadebbef49c84c4b0d778169a87", + "tests/test_numerics.py": "373eb2f050ae101316dfd3a5f8a86eb74ceda98e180690b5c22094b4aad106dc", + "tests/test_vae_compare.py": "e5f521b1198dedd8c3c50f3db6796ac04de570b3eee9bab951918a5f9962563f" +} diff --git a/provenance/optimization-r3.json b/provenance/optimization-r3.json new file mode 100644 index 0000000000000000000000000000000000000000..4a4ea962ef0f8201e2eb402be487f051e63b0c78 --- /dev/null +++ b/provenance/optimization-r3.json @@ -0,0 +1,27 @@ +{ + "skill": { + "path": "tmp/mlx-skills/SKILL.md", + "sha256": "5850817b8b7eaa534414c5bcb67d03a30b5a94c8537dcfe327226ccdf170e2b5" + }, + "reference_sources": [ + { + "url": "https://raw.githubusercontent.com/ml-explore/mlx/v0.32.4/mlx/backend/metal/kernels/rms_norm.metal", + "sha256": "b2e04e377fdad1d645581f9beeaf9cbb06d1ad32926161e06cbc15240caf12bf" + }, + { + "url": "https://raw.githubusercontent.com/ml-explore/mlx/v0.32.4/mlx/backend/metal/normalization.cpp", + "sha256": "01bc537389638efe43a9bedeeb2008484864772022ac56e106a3f9911bcaa1aa" + }, + { + "url": "https://raw.githubusercontent.com/ml-explore/mlx/v0.32.4/mlx/backend/metal/kernels/defines.h", + "sha256": "a6c2c824e855078cd092fd9592457616f995755f0e865475c3f006a3f5d6bf1d" + }, + { + "url": "https://raw.githubusercontent.com/ml-explore/mlx/v0.32.4/mlx/backend/metal/kernels/unary_ops.h", + "sha256": "af710925f066b029f67289a0bbe4edd0ba6c5e7f51c9df609abb111216fa963f" + } + ], + "native_source_cache": "cache/mlx-source-0324 (ignored; preceding campaign pinned v0.32.4)", + "historical_skill_sources": "reports/optimization-r3/skill-source-audit.json; unavailable historical artifacts were treated as hypotheses, not current performance evidence.", + "scope": "Local M5 Pro 16-GPU 64GiB, MLX 0.32.4, macOS27.0.1. No current CoreML/MPS/CPU retiming; earlier complete tests remain separate." +} diff --git a/provenance/sources.json b/provenance/sources.json new file mode 100644 index 0000000000000000000000000000000000000000..73c70cac51aa560a37ec5f7f5dab4af44be9f6d0 --- /dev/null +++ b/provenance/sources.json @@ -0,0 +1,36 @@ +{ + "date": "2026-11-11", + "source_repository": "https://github.com/devin-lai/minimax-h3-image-opt", + "source_head": "331671cf870ad8e86bb8b97b7bb1a70b5a383a81", + "note": "Source workspace contains local modifications. File hashes identify the implementations inspected; weights are not redistributed.", + "files": { + "vendor/sglang/python/sglang/multimodal_gen/runtime/models/dits/minimax_h3.py": "90735ca67f3be92c25ec38811c28ac220b4ea3061595307ceb20a60141d38afe", + "vendor/sglang/python/sglang/multimodal_gen/runtime/models/encoders/minimax_h3_qwen3vl.py": "ab2377009a23426a7862a0f39c0bdb2651f3a0f4022d5a8524d259fda979bda5", + "vendor/sglang/python/sglang/multimodal_gen/runtime/models/vaes/minimax_h3_video_vae/vae_vit.py": "b657c5b63fccca9ce6459c774ea634ee2abb2d25e3c516bdaa292b405b3ee767", + "vendor/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/denoise_loop.py": "126fa2a922e0e512cd0dcd04eb0767dfadd249f13f0b39d719db9cd783fbfa68", + "vendor/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/packed_sequence.py": "4d45b2a3c463c507052fcdc23ed06e47ebf181b29a7f9be4cace66ef84a4afe7", + "models/MiniMax-H3-Image/transformer/config.json": "67ceb1d7752942ee984405c26c1187ff58c073b698839ea0ca289e34b8dc61a9", + "models/MiniMax-H3-Image/vae/config.json": "7fcc21bec549804ff0a04d8246e7f90e679d4f8d4b0a27a252bbd18c30e3e4bb", + "models/MiniMax-H3-Image/pdd_config.json": "cbc0cf1fbb7a7f9525987db453c1bf8218b95ebc686c9c5b74cbb5bbc4852e0b", + "models/MiniMax-H3/text_encoder/config.json": "d2dd0c60d01b9e195d9447c52da61c7302d28828524914c044d9c6e1b81d0427", + "configs/weights-manifest.json": "10bf40c7cac08a1bcd0e025f433e0b35cdc69712fe10dbe08a17c92acf6962ea" + }, + "references": [ + "https://github.com/MiniMax-AI/MiniMax-H3-Image", + "https://ml-explore.github.io/mlx/build/html/usage/precision.html", + "https://ml-explore.github.io/mlx/build/html/dev/custom_metal_kernels.html", + "https://ml-explore.github.io/mlx/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html" + ], + "model_revisions": { + "MiniMax-H3-Image": "6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901", + "MiniMax-H3": "0919fb684102ef115126612f3fbb84d1027e7317" + }, + "weight_verification_record": { + "revisions": { + "MiniMax-H3-Image": "6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901", + "MiniMax-H3": "0919fb684102ef115126612f3fbb84d1027e7317" + }, + "verified_files": 53, + "manifest_sha256": "10bf40c7cac08a1bcd0e025f433e0b35cdc69712fe10dbe08a17c92acf6962ea" + } +} diff --git a/provenance/weights-manifest.json b/provenance/weights-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..fe230732fddd3c5703ebe553e52444dea5e4191d --- /dev/null +++ b/provenance/weights-manifest.json @@ -0,0 +1,320 @@ +[ + [ + "MiniMax-H3-Image", + "transformer/model-00005-of-00012.safetensors", + 5839159904, + "dcc7c79d46fa1ca910396fa001657985057db491af1bfadeda4cf3a82da329f2" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00008-of-00012.safetensors", + 5839159904, + "b71af5f2f42fee2530b4154caba6ce595ce98072d831090a6b63a546420c0072" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00011-of-00012.safetensors", + 5839159904, + "d728554ce210b10062e70db51080d2f6d6e41c6d0fa033dc77b021db20745d2b" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00002-of-00012.safetensors", + 5839159856, + "2227018562b2d92db391bce2fe641ea7f887585b581d6a73092a8fcfc59ef348" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00006-of-00012.safetensors", + 5472861168, + "12c76e39604f04d11d282172719bad6ad374e98479b8892f4ea0c9d2695b3086" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00009-of-00012.safetensors", + 5472861168, + "a2764f44f306f6eecfd3d52567bcebe64ddfafb0a2fbdaf089efc1e74cbe82f8" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00003-of-00012.safetensors", + 5472861152, + "165469f7dccbb9fb6cbdc7a88e89d2a0220697af4da7ee40a96b369ccfa5abc9" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00004-of-00012.safetensors", + 5472860360, + "2bf7dff80d49203cee29834ce6bd86077b09c4b73174d1c4f696f8fecab83ed3" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00007-of-00012.safetensors", + 5472860360, + "59ed575a374c0304da09beb234225c17b5ecc1e491b76f72455f0b3b7a1fbbff" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00010-of-00012.safetensors", + 5472860360, + "0e82a47b5fd0498674718c7a0b3830d042d349f6b5fe16cd2b35cccca5063365" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00001-of-00012.safetensors", + 5441123104, + "200667b632a6004bb8442008c4a8e975d64a7dbbc3d5569ed482650c3d61ff7b" + ], + [ + "MiniMax-H3", + "text_encoder/model-00001-of-00014.safetensors", + 4932328944, + "6b9dfbc930e505402ae9d7e5091a9d7d656cda5f34614f01cfe70bfb0cca27cb" + ], + [ + "MiniMax-H3", + "text_encoder/model-00004-of-00014.safetensors", + 4875990584, + "ad09c74d3c13ee29b5d0d84548fd8a3424a651564eaccd519946c296e59c557f" + ], + [ + "MiniMax-H3", + "text_encoder/model-00005-of-00014.safetensors", + 4875990584, + "fc993c8a0e2a5b0570f383e1a95dc3a1281d1b224b6f3ee908f4827941e1dfc2" + ], + [ + "MiniMax-H3", + "text_encoder/model-00006-of-00014.safetensors", + 4875990584, + "82f05620d1f718a90c362b221d6a184ff1a0f53301d706882d3df49695fa1974" + ], + [ + "MiniMax-H3", + "text_encoder/model-00007-of-00014.safetensors", + 4875990584, + "fb91da8cb01ff4de3eef0eab1c3e769a734b3a1aafc61734068638a0d6c86934" + ], + [ + "MiniMax-H3", + "text_encoder/model-00008-of-00014.safetensors", + 4875990584, + "431ca56535c8781944ce3801f5eb61c45531e853ecc5846d936ebaf4761b764f" + ], + [ + "MiniMax-H3", + "text_encoder/model-00009-of-00014.safetensors", + 4875990584, + "3825e3f4302f4d2f7d76aa7430d2ce0864fde6b9e540a5806bf0d8e38e4d9f47" + ], + [ + "MiniMax-H3", + "text_encoder/model-00010-of-00014.safetensors", + 4875990584, + "aded5a4d1d5e22dbd8b6f79266b6eb88c840411b09527c53917a1419ace22e2f" + ], + [ + "MiniMax-H3", + "text_encoder/model-00011-of-00014.safetensors", + 4875990584, + "3820ffe8d8d6477f6fe8d614ef3c87abb264ee39accebf43a1507b970d80946f" + ], + [ + "MiniMax-H3", + "text_encoder/model-00012-of-00014.safetensors", + 4875990584, + "05ad2d08ce71963121c9b03f1d9ec5d7641052f4b23c6c12b80d71065eb8e98e" + ], + [ + "MiniMax-H3", + "text_encoder/model-00013-of-00014.safetensors", + 4875990584, + "b64f2289871261fdd1abbd3b78bcd66011b341de3dc8eeb2ed1a473ee7c8d95c" + ], + [ + "MiniMax-H3", + "text_encoder/model-00003-of-00014.safetensors", + 4875990552, + "54f22e8b3168f8dc962fac0d313607ebf52a12b433d4cf3098a0d82d9f042940" + ], + [ + "MiniMax-H3", + "text_encoder/model-00002-of-00014.safetensors", + 4875990528, + "d8bb44b4ff303fe76fe9e894022fb3dc71b15a2e716592790fe0e3c3e60478fa" + ], + [ + "MiniMax-H3-Image", + "transformer/model-00012-of-00012.safetensors", + 4644160496, + "8d9e1c67066a5fa646f2e87f0868f73cb50be66cc1739e51eb12791fd9123b83" + ], + [ + "MiniMax-H3", + "text_encoder/model-00014-of-00014.safetensors", + 3270697008, + "e45b6c9998c77ee5a6577f9f47bc76416c1d4d387169e50c4c9d3134ea51b13b" + ], + [ + "MiniMax-H3-Image", + "vae/diffusion_pytorch_model.safetensors", + 2336964672, + "a7c8bb1e181865e7cf87c29d3d6bc728d944ce4862b92d0e1cbdcc36b3b180b2" + ], + [ + "MiniMax-H3-Image", + "pdd_fused_heads.safetensors", + 12388808, + "c07093a098e3bef4d43cd29c33e239a0c45424c5ff40dfcc864df00b8d664738" + ], + [ + "MiniMax-H3-Image", + "processor/tokenizer.json", + 7032403, + "a5d85b6dcc535e6b93115a9ef287e6132fdbf30270da6218194ba742261173c7" + ], + [ + "MiniMax-H3-Image", + "tokenizer/tokenizer.json", + 7032403, + "a5d85b6dcc535e6b93115a9ef287e6132fdbf30270da6218194ba742261173c7" + ], + [ + "MiniMax-H3", + "text_encoder/tokenizer.json", + 7032403, + "a5d85b6dcc535e6b93115a9ef287e6132fdbf30270da6218194ba742261173c7" + ], + [ + "MiniMax-H3-Image", + "processor/vocab.json", + 2776833, + "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + ], + [ + "MiniMax-H3-Image", + "tokenizer/vocab.json", + 2776833, + "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + ], + [ + "MiniMax-H3", + "text_encoder/vocab.json", + 2776833, + "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + ], + [ + "MiniMax-H3-Image", + "processor/merges.txt", + 1671839, + "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3" + ], + [ + "MiniMax-H3-Image", + "tokenizer/merges.txt", + 1671839, + "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3" + ], + [ + "MiniMax-H3", + "text_encoder/merges.txt", + 1671839, + "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3" + ], + [ + "MiniMax-H3", + "text_encoder/model.safetensors.index.json", + 97831, + "06c952c569285870b811989b794b9766493e280fb77fbcb957fc4e5fcf25403a" + ], + [ + "MiniMax-H3-Image", + "transformer/model.safetensors.index.json", + 38049, + "067f163d406bc30980a618e87318c2de1dc4bfa6fcbc26c420988c77074467fb" + ], + [ + "MiniMax-H3-Image", + "processor/tokenizer_config.json", + 11003, + "a07e942ac874baa13758de8d1fbdb186683cc03416b5589e1b6671c6b3057c68" + ], + [ + "MiniMax-H3-Image", + "tokenizer/tokenizer_config.json", + 11003, + "a07e942ac874baa13758de8d1fbdb186683cc03416b5589e1b6671c6b3057c68" + ], + [ + "MiniMax-H3", + "text_encoder/tokenizer_config.json", + 11003, + "a07e942ac874baa13758de8d1fbdb186683cc03416b5589e1b6671c6b3057c68" + ], + [ + "MiniMax-H3-Image", + "processor/chat_template.json", + 5499, + "5c72a170d2a4a1a3bc5adad2e689ae28138a9700e5b8c96c0266331e86c0acce" + ], + [ + "MiniMax-H3", + "text_encoder/chat_template.json", + 5499, + "5c72a170d2a4a1a3bc5adad2e689ae28138a9700e5b8c96c0266331e86c0acce" + ], + [ + "MiniMax-H3-Image", + "vae/config.json", + 1826, + "7fcc21bec549804ff0a04d8246e7f90e679d4f8d4b0a27a252bbd18c30e3e4bb" + ], + [ + "MiniMax-H3", + "text_encoder/config.json", + 1474, + "d2dd0c60d01b9e195d9447c52da61c7302d28828524914c044d9c6e1b81d0427" + ], + [ + "MiniMax-H3-Image", + "model_index.json", + 891, + "b3d478fb7d5fcb432d377cae77fd125b876eb4cbc9834c86e6fb8f5d2613af68" + ], + [ + "MiniMax-H3-Image", + "transformer/config.json", + 630, + "67ceb1d7752942ee984405c26c1187ff58c073b698839ea0ca289e34b8dc61a9" + ], + [ + "MiniMax-H3-Image", + "processor/preprocessor_config.json", + 390, + "27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516" + ], + [ + "MiniMax-H3", + "text_encoder/preprocessor_config.json", + 390, + "27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516" + ], + [ + "MiniMax-H3-Image", + "processor/video_preprocessor_config.json", + 385, + "7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13" + ], + [ + "MiniMax-H3", + "text_encoder/video_preprocessor_config.json", + 385, + "7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13" + ], + [ + "MiniMax-H3-Image", + "pdd_config.json", + 174, + "cbc0cf1fbb7a7f9525987db453c1bf8218b95ebc686c9c5b74cbb5bbc4852e0b" + ] +] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..5f59710c740632ede90176c95d643939136a158c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,42 @@ +[build-system] +requires = ["setuptools>=69"] +build-backend = "setuptools.build_meta" + +[project] +name = "minimax-h3-image-mlx" +version = "0.4.0" +description = "Native MLX inference and precision audits for MiniMax H3 Image on Apple silicon" +requires-python = ">=3.10" +dependencies = [ + "mlx>=0.32.4,<0.33; platform_system == 'Darwin' and platform_machine == 'arm64'", + "numpy>=1.26", "Pillow>=10", "safetensors>=0.5", "transformers>=4.57,<5", + "huggingface-hub>=0.36.2,<1", +] + +[project.optional-dependencies] +audit = ["torch>=2.6", "scikit-image>=0.24", "pytest>=8", "matplotlib>=3.8"] +native = ["torch>=2.6"] +coreml = ["coremltools>=9,<10"] +release = ["PyYAML>=6", "build>=1"] + +[project.urls] +Homepage = "https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx" +Issues = "https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/discussions" + +[project.scripts] +h3-mlx = "h3_mlx.cli:main" + +[tool.setuptools.packages.find] +include = ["h3_mlx*"] + +[tool.setuptools.package-data] +h3_mlx = ["model_index.json"] + +[tool.pytest.ini_options] +testpaths = ["tests"] + +[tool.ruff] +target-version = "py310" + +[tool.ruff.lint] +select = ["E4", "E7", "E9", "F", "I", "B"] diff --git a/release-owner.json b/release-owner.json index 9d01ebb5a3f0666487deeafec92f9e2077941a45..e84eef52fa6b501f35e11644f0da4dde1a3fd151 100644 --- a/release-owner.json +++ b/release-owner.json @@ -1 +1,4 @@ -{"project": "devin-lai/MiniMax-H3-Image-mlx", "release": "v0.4.0"} +{ + "project": "devin-lai/MiniMax-H3-Image-mlx", + "release": "v0.4.0" +} diff --git a/reports/RESULTS.md b/reports/RESULTS.md new file mode 100644 index 0000000000000000000000000000000000000000..db975f6eaabb654489bbf1272617d7fa6e4a7d28 --- /dev/null +++ b/reports/RESULTS.md @@ -0,0 +1,231 @@ +# MLX implementation and experiment report + +Measured on 11 November 2026: **Apple M5 Pro, 16 GPU cores, 64 GB unified +memory, macOS 27.0.1, MLX/MLX Metal 0.32.4**. The port runs actual original +MiniMax-H3-Image weights locally. No remote inference or substituted image +model is used. + +## What the default preserves + +The default keeps the DiT's BF16 matrices, the original six sigma intervals +and six individual PDD output heads, dense attention, FP32 Euler state and +FP32 input/timestep/output projections. It reads the first fifty Qwen3-VL +language layers without the final normalization. The image VAE uses the +native BF16 decoder, 256 px tiles, at least 64 px overlap and the released +vertical-then-horizontal blending order. The checkpoint stores VAE weights +in FP32; this decoder casting policy follows the inspected SGLang image path. + +Specific precision fixes are covered by differential tests: + +* Original DiT QKV weights are head-interleaved, and must be reordered before + a conventional Q/K/V split. The image VAE retains its own interleaved layout. +* ATen DiT/VAE RMSNorm and LayerNorm apply their affine in FP32 before the BF16 cast. Qwen RMSNorm + explicitly casts before its affine. Using one MLX normalization convention + for both introduced many incorrect rounded values. +* BF16 biased linear layers use an `addmm` epilogue. Separately rounding the + matrix product and then adding bias changes results. +* `MLX_ENABLE_TF32=0` retains the FP32 precision islands on M5. + `MLX_CONV_WINOGRAD=0` also protects the FP32 reference-image encoder. +* RoPE coordinates, partial rotation, BF16 products and SiLU rounding follow + each component's original recipe. CPU torch noise follows the original + generator family; `--rng mlx` explicitly uses a different stream. + +This preserves storage precision and the model's mathematical operations. +It does **not** promise CUDA-identical pixels. Metal/CPU/CUDA reductions and +attention kernels can cross BF16 rounding boundaries. An evolving diffusion +trajectory can amplify these differences. + +The source checkpoint revisions and inspected implementation hashes are in +[sources.json](../provenance/sources.json). These are a port of the pinned +SGLang inference contracts, not a benchmark of a pristine official +MiniMax/Diffusers application. + +## Fitting the unquantized model + +Each DiT block has a large modulation projection that depends on the sampling +timestep, not the image. For the fixed schedule we compute its small outputs +once, cache them, and release approximately **26 GB** of original modulation +weights. This is direct evaluation of the learned matrices: no curve fitting, +low-rank approximation, pruning or interpolation is involved. + +The remaining BF16 transformer core occupies about **36 GiB** of active MLX +memory. A persistent `Pipeline` retains it across all steps and requests. +The conditioning encoder streams one layer at a time, and the VAE can coexist +with the core on this Mac. A fixed resident subset avoids the pathological +all-miss behavior of a rotating LRU when the whole core does not fit. + +The [actual-weight modulation audit](modulation-audit.json) checks layers 0, +25 and 49 against individual PyTorch CPU projections. Relative RMSE is +1.06e-4–1.63e-4, with 98.6–99.9% of BF16 values identical. Individual MLX GEMVs +and batched MLX projection also round differently despite identical source +weights. These results support retaining the original matrices and FP32 +islands, while avoiding any claim of bit identity across backends. + +## Matched 2K product trials + +All rows below use the same detailed product prompt, seed 731, CPU torch noise +and 2048×2048 working/output size. Each profile has one initial request and +one subsequent request reusing resident weights and cached conditioning. +The table uses one recorded resident DiT sample per profile, not a statistically +established latency median. A final decoder LayerNorm audit re-rendered the +saved latents without rerunning diffusion. These decoder-only changes leave +the recorded DiT timings applicable. **Fresh end-to-end** values are shown +only for requests measured again with the final corrected decoder. Other rows +report denoising time, with their separate decode records retained in JSON. +Within each profile, its two original repetitions re-render to identical pixels. + + + +| Profile | Passes | DiT only | Fresh end-to-end | Recorded peak MLX | RGB SSIM | RGB MAE / 255 | +|---|---:|---:|---:|---:|---:|---:| +| native | 6 | 67.87 s | 72.78 s | 38.31 GiB | 1.0000 | 0.000 | +| tuned | 6 | 65.02 s | — | 38.33 GiB | 0.9757 | 2.339 | +| fused | 6 | 63.47 s | 66.35 s | 38.31 GiB | 0.9769 | 2.252 | +| q8 | 6 | 72.28 s | — | 21.48 GiB | 0.9318 | 5.793 | +| q4 | 6 | 67.71 s | — | 12.51 GiB | 0.7799 | 22.925 | +| preview | 3 | 32.30 s | — | 38.33 GiB | 0.6781 | 25.687 | + + + +[Recorded latency, memory and similarity tradeoffs](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/reports/tradeoffs.png) + +The final BF16 native and tuned requests took **72.78 s** and **66.35 s**, +respectively: an observed **8.8% reduction**. The final +measurements appear above; there is only one resident timing sample per +profile. The three-pass preview took about half the denoising time and changes the image much +more. Q8 is useful for memory capacity here, **not a speed improvement**. +Q4 substantially changes the trajectory and fine details. Neither is the +default near-original-precision path. + +In the final timing pass, a native request took **118.59 s** with a fresh +conditioning encode, a cached modulation table and model loading. Its subsequent +resident request took **72.78 s**. This distinction is critical: a new CLI process +does not inherit the previous process's resident weights. Building the native +modulation table also takes additional time on a fresh installation. Initial +quantized-request totals are not a controlled cold-start comparison. + +Memory figures are peak **MLX allocations**, not whole-system RAM, RSS or +swap. The tests do not establish capacity/performance on every Mac. + +Inspect the actual evidence: + +* [Product gallery](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/index.html) +* [Vertical full-frame stack](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png) +* [Identical 1:1 detail crops](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/details.png) +* [Absolute RGB differences amplified eight times](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/difference-x8.png) +* [Full-resolution scores and source PNG hashes](../comparisons/product/metrics.json) +* [All exported inference records](image-trials.json) + +## Operator tuning + +The [62 operator trials](operators.json) use actual H3 dimensions, synthetic +BF16 inputs, two warmups and seven synchronized repetitions per setting. +They measure Python/MLX dispatch plus GPU execution. They exclude weight +loading and quantization, and are not image-generation latency measurements. + +Selected medians at 4096 tokens: + +| Operation | Native | Experiment | Result | +|---|---:|---:|---| +| RMSNorm + indexed AdaLN, width 5376 | 3.558 ms | 0.543 ms, 256 threads | ~6.6× operator speedup; relative RMSE ~1e-5 | +| Q/K RMSNorm + partial RoPE, 56×128 heads | 10.961 ms | 2.057 ms | ~5.3× operator speedup; relative RMSE ~9.6e-6 | +| QKV GEMM, 5376→21504 | 37.589 ms | Q8/g64: 43.336 ms | Quantization is slower at this shape | +| Fused gate/up GEMM, 5376→28672 | 50.184 ms | Q8/g64: 57.969 ms | Same finding | +| Down GEMM, 14336→5376 | 29.900 ms | Q4/g64: 29.812 ms | Essentially unchanged; quantization changes values | +| Dense SDPA, 56 heads, head dim 128 | 24.146 ms | 128-query chunks: 41.219 ms | Full memory-efficient SDPA is faster | + +The sweep also tests normalization threadgroups 128/256/512, Q4 and Q8 groups +32/64/128, and attention query chunks 0/128/512/1024. Query chunking retained +identical outputs in these measured attention trials, but increased latency. +Smaller quantization groups slightly reduced numerical error without making +large-batch Q8 GEMM faster than BF16 on this device. + +The custom kernels preserve explicit BF16 operation boundaries, but their +parallel reduction order can change a few values. Their large isolated +speedups translate to a much smaller image-generation gain. The earlier +combined-kernel trials had very similar denoising times; these few samples +do not establish a reliable end-to-end advantage over AdaLN fusion alone. + +## Decoder-only batching experiment + +The [VAE trials](vae/trials.json) decode the **same saved final latent**, so +diffusion drift cannot obscure decoder differences. Loaded weights and one +warmup are excluded; each number is the median of two measured decodes. + +| Tile batch | Decode time | Pixel identity to batch 1 | RGB SSIM | Max 8-bit error | +|---|---:|---|---:|---:| +| 1 | 2.972 s | Yes | 1.0000 | 0 | +| 4 | 2.014 s | Yes | 1.0000 | 0 | +| 8 | 1.931 s | No | 0.99890 | 4 | +| 16 | 1.898 s | No | 0.99889 | 4 | + +Batch 4 is an attractive opt-in for this tested latent: **32.3% faster decode +with identical pixels**. This is a stage-specific, one-input result, not an +end-to-end 32.3% speedup or a universal byte-identity guarantee. The default +retains the native batch of one. Larger batches remain explicit tradeoffs. +Inspect the [decoder-only comparison stack](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/index.html). + +## Interpreting precision comparisons + +Scores use full-resolution 8-bit RGB. SSIM is scikit-image's per-channel +structural similarity with its default 7×7 window; PSNR uses RGB MSE and a +255 data range. These differ from the neighboring repository's luma/window +metrics and should not be numerically conflated. Neither metric measures +prompt adherence or overall visual quality. All crops use exactly the same +source coordinates within a case. + +The [separate CUDA comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/index.html) uses +the saved, hash-verified original BF16 RTX 5090 `single-bf16-stream` image at +the same prompt/seed/resolution. Its upstream `quality=lossless` VAE path +differs from this port's native tile recipe. The MLX default scores **0.9196 +RGB SSIM**, PSNR **21.15 dB**, MAE **7.448/255** against that image. This is +useful visual context, but does not isolate backend error or establish +CUDA-identical output. Timings from different hardware/quality settings are +not used as a port speedup claim. + +## Additional functional and quality checks + +* **Portrait, 2048×2048:** native BF16 and Q8 both complete. Q8 scores 0.8880 + RGB SSIM and 10.525/255 MAE against native. The [matched face crops](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/index.html) + make the changed skin detail visible. This is a second prompt/seed, not a + broad perceptual-quality evaluation. +* **Native 4096×4096:** all six native passes complete, producing the direct + 16 MP image. Denoising took 397.76 s and recorded peak MLX allocation was + 41.29 GiB. The separately revalidated final decoder took 12.11 s. The + [CUDA comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/index.html) scores 0.8437 RGB + SSIM; hardware and upstream VAE quality differ, as explained above. +* **Editing:** the [reference/output example](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/edit-example/before-after.png) + changes cobalt glass to emerald glass, retaining the broad scene and main + label. Small lettering remains imperfect. The 1024×1024 output uses the + native 2048×2048 minimum generation canvas. A fresh end-to-end run took + 157.74 s. This is a one-reference functional check, not an editing-quality + equivalence audit or validation of all sixteen-reference workloads. + +The separate [portrait CUDA comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/index.html) +scores 0.9382 RGB SSIM. All input identities and source hashes remain in the +individual gallery records. + +## Validation and next optimization opportunities + +All **20 numerical tests pass** on the development Mac, and the distributable +wheel builds successfully. The suite checks native/Qwen +normalization semantics, BF16 bias epilogues and SiLU, full/partial RoPE, +dense causal GQA including query chunks, original QKV layout, BF16 binary +loading, quantized checkpoint round trips, patch ordering, native tiling and +blending, reflection padding, image output quantization and rejection of +unmatched comparison metadata. + +The most useful next work is shape-specific BF16 GEMM tuning and profiling of +the M5 matrix-unit dispatch at the **actual** packed sequence lengths. Matrix +projections dominate the remaining work; replacing them with slower Q8 +operators does not help this 64 GB Mac. More efficient original-weight loading +and persistent-service reuse can improve startup without changing arithmetic. +The preconversion tool already removes online Q8/Q4 conversion from future +quantized startups while retaining native modulation/FP32 islands. + +Further precision work should expand same-prompt multi-seed tests, preserve +exported original noise/conditioning tensors across backends, and compare +against an identical upstream VAE quality setting. New custom attention or +matrix kernels should be evaluated with both tensor errors and complete +seeded image stacks. Sparse attention, residual reuse and timestep skipping +would change the model and should remain separate experiments. diff --git a/reports/image-trials.json b/reports/image-trials.json new file mode 100644 index 0000000000000000000000000000000000000000..ecd20ff8650f7a4099dc233f83a4e0c4a4d5be0a --- /dev/null +++ b/reports/image-trials.json @@ -0,0 +1,2371 @@ +[ + { + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "seed": 42, + "size": [ + 1024, + 1024 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 28.711510707857087, + "dit_setup_s": 0.3510471251793206, + "step_0_s": 32.27381366607733, + "step_1_s": 18.178750790888444, + "step_2_s": 17.952110541053116, + "step_3_s": 17.822316124802455, + "step_4_s": 17.744772125035524, + "step_5_s": 17.770629958016798, + "decode_s": 4.267031416995451, + "total_s": 157.7393269999884 + }, + "reference_images": [ + "experiments/reference-bottle.png" + ], + "reference_sha256": [ + "96d23a5fb97d8dbff46990ec6c13a8caf8573f2b4d41820c9cae0efc3d0b872c" + ], + "conditioning_cache_hit": false, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 16.658172828843817, + "block_compute_s": 105.10201758518815, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.05878337472677, + "peak_gb": 37.71541484631598, + "cache_gb": 0.9982056273147464 + }, + "memory": { + "active_gb": 36.81037116795778, + "peak_gb": 37.71541484631598, + "cache_gb": 0.31941457837820053 + }, + "output": "outputs/suite/edit/native-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304", + "case": "edit", + "profile": "native", + "trial": 0 + }, + { + "prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition.", + "seed": 802, + "size": [ + 4096, + 4096 + ], + "canvas": [ + 4096, + 4096 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 39.3051441248972, + "dit_setup_s": 1.2301222910173237, + "step_0_s": 71.125005583046, + "step_1_s": 65.16590758296661, + "step_2_s": 65.27136183297262, + "step_3_s": 65.02919550007209, + "step_4_s": 65.43438254203647, + "step_5_s": 65.73626679205336, + "decode_s": 12.110308207804337 + }, + "reference_images": [], + "reference_sha256": [], + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.182535749860108, + "block_compute_s": 397.33450028533116, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.89857850596309, + "peak_gb": 41.287479273974895, + "cache_gb": 0.863022219389677 + }, + "memory": { + "active_gb": 37.01362977549434, + "peak_gb": 41.287479273974895, + "cache_gb": 0.7924651950597763 + }, + "output": "outputs/suite/native-4k/native-0.png", + "png_sha256": "9f5b1f2a4d1ef45900e8afd7bf132e43f437c0ded73a79aa6992fe0a968de3c6", + "source_request_timings_before_decoder_fix": { + "encode_s": 39.3051441248972, + "dit_setup_s": 1.2301222910173237, + "step_0_s": 71.125005583046, + "step_1_s": 65.16590758296661, + "step_2_s": 65.27136183297262, + "step_3_s": 65.02919550007209, + "step_4_s": 65.43438254203647, + "step_5_s": 65.73626679205336, + "decode_s": 13.173293415922672, + "total_s": 451.613078125054 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 12.110308207804337 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "native-4k", + "profile": "native", + "trial": 0 + }, + { + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 29.928250416880473, + "dit_setup_s": 18.212509125005454, + "step_0_s": 29.710235374979675, + "step_1_s": 10.776555166114122, + "step_2_s": 11.723574999952689, + "step_3_s": 11.882692540995777, + "step_4_s": 11.787014875095338, + "step_5_s": 11.475019458914176, + "decode_s": 3.080522792181 + }, + "reference_images": [], + "reference_sha256": [], + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 19.780445373849943, + "block_compute_s": 67.63090399629436, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.08006561920047, + "peak_gb": 37.6115139964968, + "cache_gb": 0.994339732453227 + }, + "memory": { + "active_gb": 36.85982113704085, + "peak_gb": 37.6115139964968, + "cache_gb": 0.31572195142507553 + }, + "output": "outputs/suite/portrait/native-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "source_request_timings_before_decoder_fix": { + "encode_s": 29.928250416880473, + "dit_setup_s": 18.212509125005454, + "step_0_s": 29.710235374979675, + "step_1_s": 10.776555166114122, + "step_2_s": 11.723574999952689, + "step_3_s": 11.882692540995777, + "step_4_s": 11.787014875095338, + "step_5_s": 11.475019458914176, + "decode_s": 4.401186041999608, + "total_s": 140.02133441716433 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 3.080522792181 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "portrait", + "profile": "native", + "trial": 0 + }, + { + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 8, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09868883294984698, + "dit_setup_s": 0.7008308749645948, + "step_0_s": 25.078598499996588, + "step_1_s": 11.3860953329131, + "step_2_s": 11.843974958872423, + "step_3_s": 11.917511082952842, + "step_4_s": 11.921109582995996, + "step_5_s": 12.003246375126764, + "decode_s": 3.1595675421413034, + "total_s": 88.24365795892663 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": 8, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 14.920389131177217, + "block_compute_s": 69.7330630409997, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 19.199730288237333, + "peak_gb": 20.731178665533662, + "cache_gb": 0.993546275421977 + }, + "memory": { + "active_gb": 19.979531582444906, + "peak_gb": 20.731178665533662, + "cache_gb": 0.6054402515292168 + }, + "output": "outputs/suite/portrait/q8-0.png", + "png_sha256": "c831d65979490654433e685472f2e8018dbcf20f3e89319a7f4eb7c154204f6a", + "case": "portrait", + "profile": "q8", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.0871702078729868, + "dit_setup_s": 0.2694062499795109, + "step_0_s": 28.03581704199314, + "step_1_s": 10.591306957881898, + "step_2_s": 11.352313542040065, + "step_3_s": 11.392081375000998, + "step_4_s": 11.215388250071555, + "step_5_s": 11.01455816696398, + "decode_s": 1.988517708145082 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 18.756354711018503, + "block_compute_s": 64.9057417777367, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.021080397069454, + "peak_gb": 37.553734224289656, + "cache_gb": 0.9877017922699451 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.553734224289656, + "cache_gb": 0.6018054410815239 + }, + "output": "outputs/suite/product/fused-0.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.0871702078729868, + "dit_setup_s": 0.2694062499795109, + "step_0_s": 28.03581704199314, + "step_1_s": 10.591306957881898, + "step_2_s": 11.352313542040065, + "step_3_s": 11.392081375000998, + "step_4_s": 11.215388250071555, + "step_5_s": 11.01455816696398, + "decode_s": 3.41659158305265, + "total_s": 87.5050126251299 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 1.988517708145082 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "fused", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.0947505421936512, + "dit_setup_s": 1.101822790922597, + "step_0_s": 10.515823125140741, + "step_1_s": 10.980370458913967, + "step_2_s": 10.938190958928317, + "step_3_s": 10.820346500026062, + "step_4_s": 10.765093541005626, + "step_5_s": 10.757827833062038, + "decode_s": 1.9777195409405977 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.0689615418668836, + "block_compute_s": 64.67593808542006, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.306039180606604, + "cache_gb": 0.9942634403705597 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.306039180606604, + "cache_gb": 0.553280770778656 + }, + "output": "outputs/suite/product/fused-1.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.0947505421936512, + "dit_setup_s": 1.101822790922597, + "step_0_s": 10.515823125140741, + "step_1_s": 10.980370458913967, + "step_2_s": 10.938190958928317, + "step_3_s": 10.820346500026062, + "step_4_s": 10.765093541005626, + "step_5_s": 10.757827833062038, + "decode_s": 2.2623879581224173, + "total_s": 68.3587716249749 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 1.9777195409405977 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "fused", + "trial": 1 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09117195894941688, + "dit_setup_s": 0.27402475010603666, + "step_0_s": 10.491985624888912, + "step_1_s": 10.43551416695118, + "step_2_s": 10.60374516597949, + "step_3_s": 10.670810583047569, + "step_4_s": 10.666088457917795, + "step_5_s": 10.606334500014782, + "decode_s": 2.3815533339511603, + "total_s": 66.34713304112665 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 0.2247914168983698, + "block_compute_s": 63.320330925285816, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.306039180606604, + "cache_gb": 0.9942634403705597 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.306039180606604, + "cache_gb": 0.5641292631626129 + }, + "output": "outputs/suite/product/fused-2.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40", + "case": "product", + "profile": "fused", + "trial": 2 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 27.63335854210891, + "dit_setup_s": 20.26482224999927, + "step_0_s": 31.13361708400771, + "step_1_s": 11.05212041712366, + "step_2_s": 11.640268833842129, + "step_3_s": 11.5424111247994, + "step_4_s": 11.488479332998395, + "step_5_s": 11.525582375004888, + "decode_s": 3.0661045000888407 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 21.678823662688956, + "block_compute_s": 67.64605749840848, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.080096147954464, + "peak_gb": 37.61270419321954, + "cache_gb": 0.9885410238057375 + }, + "memory": { + "active_gb": 36.859821148216724, + "peak_gb": 37.61270419321954, + "cache_gb": 0.3144652172923088 + }, + "output": "outputs/suite/product/native-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "source_request_timings_before_decoder_fix": { + "encode_s": 27.63335854210891, + "dit_setup_s": 20.26482224999927, + "step_0_s": 31.13361708400771, + "step_1_s": 11.05212041712366, + "step_2_s": 11.640268833842129, + "step_3_s": 11.5424111247994, + "step_4_s": 11.488479332998395, + "step_5_s": 11.525582375004888, + "decode_s": 4.908479084027931, + "total_s": 141.32233908306807 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 3.0661045000888407 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "native", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.10283120791427791, + "dit_setup_s": 1.207479374948889, + "step_0_s": 11.071724584093317, + "step_1_s": 11.412838250165805, + "step_2_s": 11.571530208922923, + "step_3_s": 11.626599916024134, + "step_4_s": 11.578911541961133, + "step_5_s": 11.550731374882162, + "decode_s": 3.0810906670521945 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.1734570420812815, + "block_compute_s": 68.65733095095493, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.83238584548235, + "peak_gb": 38.36499389074743, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.859821148216724, + "peak_gb": 38.36499389074743, + "cache_gb": 0.26982536911964417 + }, + "output": "outputs/suite/product/native-1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.10283120791427791, + "dit_setup_s": 1.207479374948889, + "step_0_s": 11.071724584093317, + "step_1_s": 11.412838250165805, + "step_2_s": 11.571530208922923, + "step_3_s": 11.626599916024134, + "step_4_s": 11.578911541961133, + "step_5_s": 11.550731374882162, + "decode_s": 3.561849958030507, + "total_s": 73.81298479204997 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 3.0810906670521945 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "native", + "trial": 1 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 26.142572375014424, + "dit_setup_s": 0.33063604193739593, + "step_0_s": 29.94908641697839, + "step_1_s": 10.990884458879009, + "step_2_s": 11.677535542054102, + "step_3_s": 11.72957120789215, + "step_4_s": 11.543761416105554, + "step_5_s": 11.574032541830093, + "decode_s": 4.523960541002452, + "total_s": 118.58921137498692 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": false, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 20.082726542605087, + "block_compute_s": 67.46874211193062, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.02109565585852, + "peak_gb": 37.553703701123595, + "cache_gb": 0.995102671906352 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.553703701123595, + "cache_gb": 0.3125429078936577 + }, + "output": "outputs/suite/product/native-2.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "case": "product", + "profile": "native", + "trial": 2 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09756437502801418, + "dit_setup_s": 1.1571008330211043, + "step_0_s": 10.822453290922567, + "step_1_s": 11.303021250059828, + "step_2_s": 11.45283200009726, + "step_3_s": 11.480994417099282, + "step_4_s": 11.41636574990116, + "step_5_s": 11.394194666063413, + "decode_s": 3.528030874906108, + "total_s": 72.77735170791857 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.119593916228041, + "block_compute_s": 67.66628884081729, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.30599339865148, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.30599339865148, + "cache_gb": 0.2694286108016968 + }, + "output": "outputs/suite/product/native-3.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "case": "product", + "profile": "native", + "trial": 3 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 2, + 4 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.08606812497600913, + "dit_setup_s": 0.24623170820996165, + "step_0_s": 24.57739062514156, + "step_2_s": 10.700163749977946, + "step_4_s": 10.384316249983385, + "decode_s": 2.04847375000827 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 13.786400376353413, + "block_compute_s": 32.00015246216208, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.01219978183508, + "peak_gb": 37.572777189314365, + "cache_gb": 1.000915914773941 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.572777189314365, + "cache_gb": 0.6030562445521355 + }, + "output": "outputs/suite/product/preview-0.png", + "png_sha256": "5337c71c20c626ea61acbea9056edaf0681ada662253bb279d8b6be8dbc88045", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.08606812497600913, + "dit_setup_s": 0.24623170820996165, + "step_0_s": 24.57739062514156, + "step_2_s": 10.700163749977946, + "step_4_s": 10.384316249983385, + "decode_s": 3.310265166219324, + "total_s": 49.424194334074855 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.04847375000827 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "preview", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 2, + 4 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09528833301737905, + "dit_setup_s": 1.1097651249729097, + "step_0_s": 10.587021457962692, + "step_2_s": 10.816450208891183, + "step_4_s": 10.89192883297801, + "decode_s": 2.0644590000156313 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.070151749998331, + "block_compute_s": 32.22257654322311, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.76450473815203, + "peak_gb": 38.32508214563131, + "cache_gb": 0.9619758427143097 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.32508214563131, + "cache_gb": 0.5593452155590057 + }, + "output": "outputs/suite/product/preview-1.png", + "png_sha256": "5337c71c20c626ea61acbea9056edaf0681ada662253bb279d8b6be8dbc88045", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09528833301737905, + "dit_setup_s": 1.1097651249729097, + "step_0_s": 10.587021457962692, + "step_2_s": 10.816450208891183, + "step_4_s": 10.89192883297801, + "decode_s": 2.372526040999219, + "total_s": 35.99212024989538 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0644590000156313 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "preview", + "trial": 1 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 4, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.08299045800231397, + "dit_setup_s": 0.28317270800471306, + "step_0_s": 19.11376008298248, + "step_1_s": 10.99580704094842, + "step_2_s": 11.211088750045747, + "step_3_s": 11.289839917095378, + "step_4_s": 11.564157583983615, + "step_5_s": 11.503565084189177, + "decode_s": 2.0790337091311812 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 9.048859243281186, + "block_compute_s": 66.74286287929863, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 10.22765388339758, + "peak_gb": 11.760261928662658, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 11.007394142448902, + "peak_gb": 11.760261928662658, + "cache_gb": 0.6042163297533989 + }, + "output": "outputs/suite/product/q4-0.png", + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.08299045800231397, + "dit_setup_s": 0.28317270800471306, + "step_0_s": 19.11376008298248, + "step_1_s": 10.99580704094842, + "step_2_s": 11.211088750045747, + "step_3_s": 11.289839917095378, + "step_4_s": 11.564157583983615, + "step_5_s": 11.503565084189177, + "decode_s": 3.0173367499373853, + "total_s": 79.18590637505986 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0790337091311812 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "q4", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 4, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09236533287912607, + "dit_setup_s": 0.23881158302538097, + "step_0_s": 11.108879416016862, + "step_1_s": 11.359565166058019, + "step_2_s": 11.353381082881242, + "step_3_s": 11.290836083935574, + "step_4_s": 11.308953374857083, + "step_5_s": 11.28675491688773, + "decode_s": 2.08044720813632 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 0.2176664168946445, + "block_compute_s": 67.58472632756457, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 10.979958839714527, + "peak_gb": 12.512566884979606, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 11.007394142448902, + "peak_gb": 12.512566884979606, + "cache_gb": 0.5503998398780823 + }, + "output": "outputs/suite/product/q4-1.png", + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09236533287912607, + "dit_setup_s": 0.23881158302538097, + "step_0_s": 11.108879416016862, + "step_1_s": 11.359565166058019, + "step_2_s": 11.353381082881242, + "step_3_s": 11.290836083935574, + "step_4_s": 11.308953374857083, + "step_5_s": 11.28675491688773, + "decode_s": 2.2108787919860333, + "total_s": 70.37329891719855 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.08044720813632 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "q4", + "trial": 1 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 8, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.08911920804530382, + "dit_setup_s": 0.2958282500039786, + "step_0_s": 27.842405499890447, + "step_1_s": 11.430472458014265, + "step_2_s": 11.827954125124961, + "step_3_s": 12.004274874925613, + "step_4_s": 11.989493458066136, + "step_5_s": 12.00823758309707, + "decode_s": 2.0807445000391454 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 17.309301752364263, + "block_compute_s": 69.87766737584025, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 19.19982185214758, + "peak_gb": 20.732429897412658, + "cache_gb": 0.964432505890727 + }, + "memory": { + "active_gb": 19.979562111198902, + "peak_gb": 20.732429897412658, + "cache_gb": 0.600493423640728 + }, + "output": "outputs/suite/product/q8-0.png", + "png_sha256": "799572a5675bac38b9b1877147d4515fc967e53c6f06b081f30548272e52c052", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.08911920804530382, + "dit_setup_s": 0.2958282500039786, + "step_0_s": 27.842405499890447, + "step_1_s": 11.430472458014265, + "step_2_s": 11.827954125124961, + "step_3_s": 12.004274874925613, + "step_4_s": 11.989493458066136, + "step_5_s": 12.00823758309707, + "decode_s": 3.1586517500691116, + "total_s": 90.76945875003003 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0807445000391454 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "q8", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 8, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09065908310003579, + "dit_setup_s": 1.2292701669503003, + "step_0_s": 11.784963042009622, + "step_1_s": 12.04240637505427, + "step_2_s": 12.168709333986044, + "step_3_s": 12.102805541129783, + "step_4_s": 12.074664332903922, + "step_5_s": 12.101575708016753, + "decode_s": 2.086509041953832 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.197992123896256, + "block_compute_s": 72.14822882669978, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 19.952126808464527, + "peak_gb": 21.484734853729606, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 19.979562111198902, + "peak_gb": 21.484734853729606, + "cache_gb": 0.5513423681259155 + }, + "output": "outputs/suite/product/q8-1.png", + "png_sha256": "799572a5675bac38b9b1877147d4515fc967e53c6f06b081f30548272e52c052", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09065908310003579, + "dit_setup_s": 1.2292701669503003, + "step_0_s": 11.784963042009622, + "step_1_s": 12.04240637505427, + "step_2_s": 12.168709333986044, + "step_3_s": 12.102805541129783, + "step_4_s": 12.074664332903922, + "step_5_s": 12.101575708016753, + "decode_s": 2.234227875014767, + "total_s": 75.95056675001979 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.086509041953832 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "q8", + "trial": 1 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.11016783304512501, + "dit_setup_s": 0.2791137909516692, + "step_0_s": 27.963959000073373, + "step_1_s": 10.101680417079479, + "step_2_s": 10.721213083947077, + "step_3_s": 10.86919325008057, + "step_4_s": 10.977747125085443, + "step_5_s": 11.061432500137016, + "decode_s": 2.092774209100753 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 18.221893749199808, + "block_compute_s": 63.534987296909094, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.021080397069454, + "peak_gb": 37.58165780454874, + "cache_gb": 0.9663703739643097 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.58165780454874, + "cache_gb": 0.5735058411955833 + }, + "output": "outputs/suite/product/tuned-0.png", + "png_sha256": "c5239ae8d92498cd68dabea840aa2cee5d8604a95d4882ed15a6666731e0e5af", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.11016783304512501, + "dit_setup_s": 0.2791137909516692, + "step_0_s": 27.963959000073373, + "step_1_s": 10.101680417079479, + "step_2_s": 10.721213083947077, + "step_3_s": 10.86919325008057, + "step_4_s": 10.977747125085443, + "step_5_s": 11.061432500137016, + "decode_s": 3.6567188748158514, + "total_s": 85.87136325007305 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.092774209100753 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "tuned", + "trial": 0 + }, + { + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09934491687454283, + "dit_setup_s": 1.0922138749156147, + "step_0_s": 10.57918579201214, + "step_1_s": 10.63422887492925, + "step_2_s": 10.868061624933034, + "step_3_s": 10.963727083057165, + "step_4_s": 10.984185874927789, + "step_5_s": 10.98608429194428, + "decode_s": 2.0950714577920735 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.0580387499649078, + "block_compute_s": 64.89826900395565, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.33396276086569, + "cache_gb": 1.0004585087299347 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.33396276086569, + "cache_gb": 0.5235443711280823 + }, + "output": "outputs/suite/product/tuned-1.png", + "png_sha256": "c5239ae8d92498cd68dabea840aa2cee5d8604a95d4882ed15a6666731e0e5af", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09934491687454283, + "dit_setup_s": 1.0922138749156147, + "step_0_s": 10.57918579201214, + "step_1_s": 10.63422887492925, + "step_2_s": 10.868061624933034, + "step_3_s": 10.963727083057165, + "step_4_s": 10.984185874927789, + "step_5_s": 10.98608429194428, + "decode_s": 2.3988947081379592, + "total_s": 68.73201379179955 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0950714577920735 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total", + "case": "product", + "profile": "tuned", + "trial": 1 + } +] diff --git a/reports/inference/edit/native-0.json b/reports/inference/edit/native-0.json new file mode 100644 index 0000000000000000000000000000000000000000..a3721f75a6e087375aeb59d5aaa17bc88c5aa703 --- /dev/null +++ b/reports/inference/edit/native-0.json @@ -0,0 +1,120 @@ +{ + "prompt": "Change the cobalt blue glass perfume bottle in to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.", + "seed": 42, + "size": [ + 1024, + 1024 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 28.711510707857087, + "dit_setup_s": 0.3510471251793206, + "step_0_s": 32.27381366607733, + "step_1_s": 18.178750790888444, + "step_2_s": 17.952110541053116, + "step_3_s": 17.822316124802455, + "step_4_s": 17.744772125035524, + "step_5_s": 17.770629958016798, + "decode_s": 4.267031416995451, + "total_s": 157.7393269999884 + }, + "reference_images": [ + "experiments/reference-bottle.png" + ], + "reference_sha256": [ + "96d23a5fb97d8dbff46990ec6c13a8caf8573f2b4d41820c9cae0efc3d0b872c" + ], + "conditioning_cache_hit": false, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 16.658172828843817, + "block_compute_s": 105.10201758518815, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.05878337472677, + "peak_gb": 37.71541484631598, + "cache_gb": 0.9982056273147464 + }, + "memory": { + "active_gb": 36.81037116795778, + "peak_gb": 37.71541484631598, + "cache_gb": 0.31941457837820053 + }, + "output": "outputs/suite/edit/native-0.png", + "png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" +} diff --git a/reports/inference/native-4k/native-0.json b/reports/inference/native-4k/native-0.json new file mode 100644 index 0000000000000000000000000000000000000000..228ff9fb78882b895751ccbb38738e65d6e2d4d6 --- /dev/null +++ b/reports/inference/native-4k/native-0.json @@ -0,0 +1,131 @@ +{ + "prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition.", + "seed": 802, + "size": [ + 4096, + 4096 + ], + "canvas": [ + 4096, + 4096 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 39.3051441248972, + "dit_setup_s": 1.2301222910173237, + "step_0_s": 71.125005583046, + "step_1_s": 65.16590758296661, + "step_2_s": 65.27136183297262, + "step_3_s": 65.02919550007209, + "step_4_s": 65.43438254203647, + "step_5_s": 65.73626679205336, + "decode_s": 12.110308207804337 + }, + "reference_images": [], + "reference_sha256": [], + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.182535749860108, + "block_compute_s": 397.33450028533116, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.89857850596309, + "peak_gb": 41.287479273974895, + "cache_gb": 0.863022219389677 + }, + "memory": { + "active_gb": 37.01362977549434, + "peak_gb": 41.287479273974895, + "cache_gb": 0.7924651950597763 + }, + "output": "outputs/suite/native-4k/native-0.png", + "png_sha256": "9f5b1f2a4d1ef45900e8afd7bf132e43f437c0ded73a79aa6992fe0a968de3c6", + "source_request_timings_before_decoder_fix": { + "encode_s": 39.3051441248972, + "dit_setup_s": 1.2301222910173237, + "step_0_s": 71.125005583046, + "step_1_s": 65.16590758296661, + "step_2_s": 65.27136183297262, + "step_3_s": 65.02919550007209, + "step_4_s": 65.43438254203647, + "step_5_s": 65.73626679205336, + "decode_s": 13.173293415922672, + "total_s": 451.613078125054 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 12.110308207804337 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/portrait/native-0.json b/reports/inference/portrait/native-0.json new file mode 100644 index 0000000000000000000000000000000000000000..f9439413b6ccd5b2395879793ba9ab2f3367819f --- /dev/null +++ b/reports/inference/portrait/native-0.json @@ -0,0 +1,131 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 29.928250416880473, + "dit_setup_s": 18.212509125005454, + "step_0_s": 29.710235374979675, + "step_1_s": 10.776555166114122, + "step_2_s": 11.723574999952689, + "step_3_s": 11.882692540995777, + "step_4_s": 11.787014875095338, + "step_5_s": 11.475019458914176, + "decode_s": 3.080522792181 + }, + "reference_images": [], + "reference_sha256": [], + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 19.780445373849943, + "block_compute_s": 67.63090399629436, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.08006561920047, + "peak_gb": 37.6115139964968, + "cache_gb": 0.994339732453227 + }, + "memory": { + "active_gb": 36.85982113704085, + "peak_gb": 37.6115139964968, + "cache_gb": 0.31572195142507553 + }, + "output": "outputs/suite/portrait/native-0.png", + "png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933", + "source_request_timings_before_decoder_fix": { + "encode_s": 29.928250416880473, + "dit_setup_s": 18.212509125005454, + "step_0_s": 29.710235374979675, + "step_1_s": 10.776555166114122, + "step_2_s": 11.723574999952689, + "step_3_s": 11.882692540995777, + "step_4_s": 11.787014875095338, + "step_5_s": 11.475019458914176, + "decode_s": 4.401186041999608, + "total_s": 140.02133441716433 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 3.080522792181 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/portrait/q8-0.json b/reports/inference/portrait/q8-0.json new file mode 100644 index 0000000000000000000000000000000000000000..5ca2e63c0f51cbb6f6f4d3d561182992486cbeac --- /dev/null +++ b/reports/inference/portrait/q8-0.json @@ -0,0 +1,116 @@ +{ + "prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.", + "seed": 1234, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 8, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09868883294984698, + "dit_setup_s": 0.7008308749645948, + "step_0_s": 25.078598499996588, + "step_1_s": 11.3860953329131, + "step_2_s": 11.843974958872423, + "step_3_s": 11.917511082952842, + "step_4_s": 11.921109582995996, + "step_5_s": 12.003246375126764, + "decode_s": 3.1595675421413034, + "total_s": 88.24365795892663 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": 8, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 14.920389131177217, + "block_compute_s": 69.7330630409997, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 19.199730288237333, + "peak_gb": 20.731178665533662, + "cache_gb": 0.993546275421977 + }, + "memory": { + "active_gb": 19.979531582444906, + "peak_gb": 20.731178665533662, + "cache_gb": 0.6054402515292168 + }, + "output": "outputs/suite/portrait/q8-0.png", + "png_sha256": "c831d65979490654433e685472f2e8018dbcf20f3e89319a7f4eb7c154204f6a" +} diff --git a/reports/inference/product/fused-0.json b/reports/inference/product/fused-0.json new file mode 100644 index 0000000000000000000000000000000000000000..7cf1b80b058fe7c5f87c112ac00a05b88ccc03b2 --- /dev/null +++ b/reports/inference/product/fused-0.json @@ -0,0 +1,124 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.0871702078729868, + "dit_setup_s": 0.2694062499795109, + "step_0_s": 28.03581704199314, + "step_1_s": 10.591306957881898, + "step_2_s": 11.352313542040065, + "step_3_s": 11.392081375000998, + "step_4_s": 11.215388250071555, + "step_5_s": 11.01455816696398, + "decode_s": 1.988517708145082 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 18.756354711018503, + "block_compute_s": 64.9057417777367, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.021080397069454, + "peak_gb": 37.553734224289656, + "cache_gb": 0.9877017922699451 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.553734224289656, + "cache_gb": 0.6018054410815239 + }, + "output": "outputs/suite/product/fused-0.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.0871702078729868, + "dit_setup_s": 0.2694062499795109, + "step_0_s": 28.03581704199314, + "step_1_s": 10.591306957881898, + "step_2_s": 11.352313542040065, + "step_3_s": 11.392081375000998, + "step_4_s": 11.215388250071555, + "step_5_s": 11.01455816696398, + "decode_s": 3.41659158305265, + "total_s": 87.5050126251299 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 1.988517708145082 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/fused-1.json b/reports/inference/product/fused-1.json new file mode 100644 index 0000000000000000000000000000000000000000..951eddc33ffd01e3b23cbd582b3818db87597543 --- /dev/null +++ b/reports/inference/product/fused-1.json @@ -0,0 +1,124 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.0947505421936512, + "dit_setup_s": 1.101822790922597, + "step_0_s": 10.515823125140741, + "step_1_s": 10.980370458913967, + "step_2_s": 10.938190958928317, + "step_3_s": 10.820346500026062, + "step_4_s": 10.765093541005626, + "step_5_s": 10.757827833062038, + "decode_s": 1.9777195409405977 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.0689615418668836, + "block_compute_s": 64.67593808542006, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.306039180606604, + "cache_gb": 0.9942634403705597 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.306039180606604, + "cache_gb": 0.553280770778656 + }, + "output": "outputs/suite/product/fused-1.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.0947505421936512, + "dit_setup_s": 1.101822790922597, + "step_0_s": 10.515823125140741, + "step_1_s": 10.980370458913967, + "step_2_s": 10.938190958928317, + "step_3_s": 10.820346500026062, + "step_4_s": 10.765093541005626, + "step_5_s": 10.757827833062038, + "decode_s": 2.2623879581224173, + "total_s": 68.3587716249749 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 1.9777195409405977 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/fused-2.json b/reports/inference/product/fused-2.json new file mode 100644 index 0000000000000000000000000000000000000000..ba5b6f7dc898bb2caaa453501caa3e890f85e3b9 --- /dev/null +++ b/reports/inference/product/fused-2.json @@ -0,0 +1,116 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09117195894941688, + "dit_setup_s": 0.27402475010603666, + "step_0_s": 10.491985624888912, + "step_1_s": 10.43551416695118, + "step_2_s": 10.60374516597949, + "step_3_s": 10.670810583047569, + "step_4_s": 10.666088457917795, + "step_5_s": 10.606334500014782, + "decode_s": 2.3815533339511603, + "total_s": 66.34713304112665 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 0.2247914168983698, + "block_compute_s": 63.320330925285816, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.306039180606604, + "cache_gb": 0.9942634403705597 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.306039180606604, + "cache_gb": 0.5641292631626129 + }, + "output": "outputs/suite/product/fused-2.png", + "png_sha256": "285968b3ea9d7d4ea510750bf77fedb7f7f7780e7a85e6c69178178269e60f40" +} diff --git a/reports/inference/product/native-0.json b/reports/inference/product/native-0.json new file mode 100644 index 0000000000000000000000000000000000000000..3b0e0860f145c2c53e2e0b67029545216d73d956 --- /dev/null +++ b/reports/inference/product/native-0.json @@ -0,0 +1,123 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 27.63335854210891, + "dit_setup_s": 20.26482224999927, + "step_0_s": 31.13361708400771, + "step_1_s": 11.05212041712366, + "step_2_s": 11.640268833842129, + "step_3_s": 11.5424111247994, + "step_4_s": 11.488479332998395, + "step_5_s": 11.525582375004888, + "decode_s": 3.0661045000888407 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 21.678823662688956, + "block_compute_s": 67.64605749840848, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.080096147954464, + "peak_gb": 37.61270419321954, + "cache_gb": 0.9885410238057375 + }, + "memory": { + "active_gb": 36.859821148216724, + "peak_gb": 37.61270419321954, + "cache_gb": 0.3144652172923088 + }, + "output": "outputs/suite/product/native-0.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "source_request_timings_before_decoder_fix": { + "encode_s": 27.63335854210891, + "dit_setup_s": 20.26482224999927, + "step_0_s": 31.13361708400771, + "step_1_s": 11.05212041712366, + "step_2_s": 11.640268833842129, + "step_3_s": 11.5424111247994, + "step_4_s": 11.488479332998395, + "step_5_s": 11.525582375004888, + "decode_s": 4.908479084027931, + "total_s": 141.32233908306807 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 3.0661045000888407 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/native-1.json b/reports/inference/product/native-1.json new file mode 100644 index 0000000000000000000000000000000000000000..7ffbee5ad0c216e058c14fe7126af2b0745b2ef2 --- /dev/null +++ b/reports/inference/product/native-1.json @@ -0,0 +1,123 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.10283120791427791, + "dit_setup_s": 1.207479374948889, + "step_0_s": 11.071724584093317, + "step_1_s": 11.412838250165805, + "step_2_s": 11.571530208922923, + "step_3_s": 11.626599916024134, + "step_4_s": 11.578911541961133, + "step_5_s": 11.550731374882162, + "decode_s": 3.0810906670521945 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.1734570420812815, + "block_compute_s": 68.65733095095493, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.83238584548235, + "peak_gb": 38.36499389074743, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.859821148216724, + "peak_gb": 38.36499389074743, + "cache_gb": 0.26982536911964417 + }, + "output": "outputs/suite/product/native-1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.10283120791427791, + "dit_setup_s": 1.207479374948889, + "step_0_s": 11.071724584093317, + "step_1_s": 11.412838250165805, + "step_2_s": 11.571530208922923, + "step_3_s": 11.626599916024134, + "step_4_s": 11.578911541961133, + "step_5_s": 11.550731374882162, + "decode_s": 3.561849958030507, + "total_s": 73.81298479204997 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 3.0810906670521945 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/native-2.json b/reports/inference/product/native-2.json new file mode 100644 index 0000000000000000000000000000000000000000..740609c706445878ac9c5445b99133267c5e12a8 --- /dev/null +++ b/reports/inference/product/native-2.json @@ -0,0 +1,116 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 26.142572375014424, + "dit_setup_s": 0.33063604193739593, + "step_0_s": 29.94908641697839, + "step_1_s": 10.990884458879009, + "step_2_s": 11.677535542054102, + "step_3_s": 11.72957120789215, + "step_4_s": 11.543761416105554, + "step_5_s": 11.574032541830093, + "decode_s": 4.523960541002452, + "total_s": 118.58921137498692 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": false, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 20.082726542605087, + "block_compute_s": 67.46874211193062, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.02109565585852, + "peak_gb": 37.553703701123595, + "cache_gb": 0.995102671906352 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.553703701123595, + "cache_gb": 0.3125429078936577 + }, + "output": "outputs/suite/product/native-2.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/reports/inference/product/native-3.json b/reports/inference/product/native-3.json new file mode 100644 index 0000000000000000000000000000000000000000..4860c8f36ceceea1938cccd7ee98e43f16b32a55 --- /dev/null +++ b/reports/inference/product/native-3.json @@ -0,0 +1,116 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 1, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09756437502801418, + "dit_setup_s": 1.1571008330211043, + "step_0_s": 10.822453290922567, + "step_1_s": 11.303021250059828, + "step_2_s": 11.45283200009726, + "step_3_s": 11.480994417099282, + "step_4_s": 11.41636574990116, + "step_5_s": 11.394194666063413, + "decode_s": 3.528030874906108, + "total_s": 72.77735170791857 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.119593916228041, + "block_compute_s": 67.66628884081729, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.30599339865148, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.30599339865148, + "cache_gb": 0.2694286108016968 + }, + "output": "outputs/suite/product/native-3.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" +} diff --git a/reports/inference/product/preview-0.json b/reports/inference/product/preview-0.json new file mode 100644 index 0000000000000000000000000000000000000000..3610b831742ba9452b49c487ddc8f706639ef2ff --- /dev/null +++ b/reports/inference/product/preview-0.json @@ -0,0 +1,115 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 2, + 4 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.08606812497600913, + "dit_setup_s": 0.24623170820996165, + "step_0_s": 24.57739062514156, + "step_2_s": 10.700163749977946, + "step_4_s": 10.384316249983385, + "decode_s": 2.04847375000827 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 13.786400376353413, + "block_compute_s": 32.00015246216208, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.01219978183508, + "peak_gb": 37.572777189314365, + "cache_gb": 1.000915914773941 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.572777189314365, + "cache_gb": 0.6030562445521355 + }, + "output": "outputs/suite/product/preview-0.png", + "png_sha256": "5337c71c20c626ea61acbea9056edaf0681ada662253bb279d8b6be8dbc88045", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.08606812497600913, + "dit_setup_s": 0.24623170820996165, + "step_0_s": 24.57739062514156, + "step_2_s": 10.700163749977946, + "step_4_s": 10.384316249983385, + "decode_s": 3.310265166219324, + "total_s": 49.424194334074855 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.04847375000827 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/preview-1.json b/reports/inference/product/preview-1.json new file mode 100644 index 0000000000000000000000000000000000000000..93502fda6a3a8e986ce9f73e1e8331daccd52f18 --- /dev/null +++ b/reports/inference/product/preview-1.json @@ -0,0 +1,115 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 2, + 4 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09528833301737905, + "dit_setup_s": 1.1097651249729097, + "step_0_s": 10.587021457962692, + "step_2_s": 10.816450208891183, + "step_4_s": 10.89192883297801, + "decode_s": 2.0644590000156313 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.070151749998331, + "block_compute_s": 32.22257654322311, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.76450473815203, + "peak_gb": 38.32508214563131, + "cache_gb": 0.9619758427143097 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.32508214563131, + "cache_gb": 0.5593452155590057 + }, + "output": "outputs/suite/product/preview-1.png", + "png_sha256": "5337c71c20c626ea61acbea9056edaf0681ada662253bb279d8b6be8dbc88045", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09528833301737905, + "dit_setup_s": 1.1097651249729097, + "step_0_s": 10.587021457962692, + "step_2_s": 10.816450208891183, + "step_4_s": 10.89192883297801, + "decode_s": 2.372526040999219, + "total_s": 35.99212024989538 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0644590000156313 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/q4-0.json b/reports/inference/product/q4-0.json new file mode 100644 index 0000000000000000000000000000000000000000..78736fed793c6154f32150c069437c1608320c25 --- /dev/null +++ b/reports/inference/product/q4-0.json @@ -0,0 +1,124 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 4, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.08299045800231397, + "dit_setup_s": 0.28317270800471306, + "step_0_s": 19.11376008298248, + "step_1_s": 10.99580704094842, + "step_2_s": 11.211088750045747, + "step_3_s": 11.289839917095378, + "step_4_s": 11.564157583983615, + "step_5_s": 11.503565084189177, + "decode_s": 2.0790337091311812 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 9.048859243281186, + "block_compute_s": 66.74286287929863, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 10.22765388339758, + "peak_gb": 11.760261928662658, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 11.007394142448902, + "peak_gb": 11.760261928662658, + "cache_gb": 0.6042163297533989 + }, + "output": "outputs/suite/product/q4-0.png", + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.08299045800231397, + "dit_setup_s": 0.28317270800471306, + "step_0_s": 19.11376008298248, + "step_1_s": 10.99580704094842, + "step_2_s": 11.211088750045747, + "step_3_s": 11.289839917095378, + "step_4_s": 11.564157583983615, + "step_5_s": 11.503565084189177, + "decode_s": 3.0173367499373853, + "total_s": 79.18590637505986 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0790337091311812 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/q4-1.json b/reports/inference/product/q4-1.json new file mode 100644 index 0000000000000000000000000000000000000000..c94d7856ff3be2896e5154050a234045988931a7 --- /dev/null +++ b/reports/inference/product/q4-1.json @@ -0,0 +1,124 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 4, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09236533287912607, + "dit_setup_s": 0.23881158302538097, + "step_0_s": 11.108879416016862, + "step_1_s": 11.359565166058019, + "step_2_s": 11.353381082881242, + "step_3_s": 11.290836083935574, + "step_4_s": 11.308953374857083, + "step_5_s": 11.28675491688773, + "decode_s": 2.08044720813632 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 0.2176664168946445, + "block_compute_s": 67.58472632756457, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 10.979958839714527, + "peak_gb": 12.512566884979606, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 11.007394142448902, + "peak_gb": 12.512566884979606, + "cache_gb": 0.5503998398780823 + }, + "output": "outputs/suite/product/q4-1.png", + "png_sha256": "7b3f12ab1d350f48aa271c5fb3b53998feea568fa357118b65f03c7f48f846d2", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09236533287912607, + "dit_setup_s": 0.23881158302538097, + "step_0_s": 11.108879416016862, + "step_1_s": 11.359565166058019, + "step_2_s": 11.353381082881242, + "step_3_s": 11.290836083935574, + "step_4_s": 11.308953374857083, + "step_5_s": 11.28675491688773, + "decode_s": 2.2108787919860333, + "total_s": 70.37329891719855 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.08044720813632 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/q8-0.json b/reports/inference/product/q8-0.json new file mode 100644 index 0000000000000000000000000000000000000000..958c1f05637446606e4d67179b76ad5f138669e7 --- /dev/null +++ b/reports/inference/product/q8-0.json @@ -0,0 +1,124 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 8, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.08911920804530382, + "dit_setup_s": 0.2958282500039786, + "step_0_s": 27.842405499890447, + "step_1_s": 11.430472458014265, + "step_2_s": 11.827954125124961, + "step_3_s": 12.004274874925613, + "step_4_s": 11.989493458066136, + "step_5_s": 12.00823758309707, + "decode_s": 2.0807445000391454 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 17.309301752364263, + "block_compute_s": 69.87766737584025, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 19.19982185214758, + "peak_gb": 20.732429897412658, + "cache_gb": 0.964432505890727 + }, + "memory": { + "active_gb": 19.979562111198902, + "peak_gb": 20.732429897412658, + "cache_gb": 0.600493423640728 + }, + "output": "outputs/suite/product/q8-0.png", + "png_sha256": "799572a5675bac38b9b1877147d4515fc967e53c6f06b081f30548272e52c052", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.08911920804530382, + "dit_setup_s": 0.2958282500039786, + "step_0_s": 27.842405499890447, + "step_1_s": 11.430472458014265, + "step_2_s": 11.827954125124961, + "step_3_s": 12.004274874925613, + "step_4_s": 11.989493458066136, + "step_5_s": 12.00823758309707, + "decode_s": 3.1586517500691116, + "total_s": 90.76945875003003 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0807445000391454 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/q8-1.json b/reports/inference/product/q8-1.json new file mode 100644 index 0000000000000000000000000000000000000000..e4370a44312a853ca6ca40d8baf8b203fccdc254 --- /dev/null +++ b/reports/inference/product/q8-1.json @@ -0,0 +1,124 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": 8, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09065908310003579, + "dit_setup_s": 1.2292701669503003, + "step_0_s": 11.784963042009622, + "step_1_s": 12.04240637505427, + "step_2_s": 12.168709333986044, + "step_3_s": 12.102805541129783, + "step_4_s": 12.074664332903922, + "step_5_s": 12.101575708016753, + "decode_s": 2.086509041953832 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.197992123896256, + "block_compute_s": 72.14822882669978, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 19.952126808464527, + "peak_gb": 21.484734853729606, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 19.979562111198902, + "peak_gb": 21.484734853729606, + "cache_gb": 0.5513423681259155 + }, + "output": "outputs/suite/product/q8-1.png", + "png_sha256": "799572a5675bac38b9b1877147d4515fc967e53c6f06b081f30548272e52c052", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09065908310003579, + "dit_setup_s": 1.2292701669503003, + "step_0_s": 11.784963042009622, + "step_1_s": 12.04240637505427, + "step_2_s": 12.168709333986044, + "step_3_s": 12.102805541129783, + "step_4_s": 12.074664332903922, + "step_5_s": 12.101575708016753, + "decode_s": 2.234227875014767, + "total_s": 75.95056675001979 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.086509041953832 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/tuned-0.json b/reports/inference/product/tuned-0.json new file mode 100644 index 0000000000000000000000000000000000000000..b20dfa0199671f250750951901b95dc87bd96b66 --- /dev/null +++ b/reports/inference/product/tuned-0.json @@ -0,0 +1,123 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.11016783304512501, + "dit_setup_s": 0.2791137909516692, + "step_0_s": 27.963959000073373, + "step_1_s": 10.101680417079479, + "step_2_s": 10.721213083947077, + "step_3_s": 10.86919325008057, + "step_4_s": 10.977747125085443, + "step_5_s": 11.061432500137016, + "decode_s": 2.092774209100753 + }, + "reference_images": [], + "dit_was_resident": false, + "dit_metrics": { + "block_load_s": 18.221893749199808, + "block_compute_s": 63.534987296909094, + "block_loads": 52 + }, + "memory_before_decode": { + "active_gb": 36.021080397069454, + "peak_gb": 37.58165780454874, + "cache_gb": 0.9663703739643097 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 37.58165780454874, + "cache_gb": 0.5735058411955833 + }, + "output": "outputs/suite/product/tuned-0.png", + "png_sha256": "c5239ae8d92498cd68dabea840aa2cee5d8604a95d4882ed15a6666731e0e5af", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.11016783304512501, + "dit_setup_s": 0.2791137909516692, + "step_0_s": 27.963959000073373, + "step_1_s": 10.101680417079479, + "step_2_s": 10.721213083947077, + "step_3_s": 10.86919325008057, + "step_4_s": 10.977747125085443, + "step_5_s": 11.061432500137016, + "decode_s": 3.6567188748158514, + "total_s": 85.87136325007305 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.092774209100753 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/inference/product/tuned-1.json b/reports/inference/product/tuned-1.json new file mode 100644 index 0000000000000000000000000000000000000000..94d820b6354249aa5d99a8b18008cf2a626667a2 --- /dev/null +++ b/reports/inference/product/tuned-1.json @@ -0,0 +1,123 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal", + "threads": 256 + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 8, + "dtype": "bfloat16" + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "encode_s": 0.09934491687454283, + "dit_setup_s": 1.0922138749156147, + "step_0_s": 10.57918579201214, + "step_1_s": 10.63422887492925, + "step_2_s": 10.868061624933034, + "step_3_s": 10.963727083057165, + "step_4_s": 10.984185874927789, + "step_5_s": 10.98608429194428, + "decode_s": 2.0950714577920735 + }, + "reference_images": [], + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.0580387499649078, + "block_compute_s": 64.89826900395565, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.33396276086569, + "cache_gb": 1.0004585087299347 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.33396276086569, + "cache_gb": 0.5235443711280823 + }, + "output": "outputs/suite/product/tuned-1.png", + "png_sha256": "c5239ae8d92498cd68dabea840aa2cee5d8604a95d4882ed15a6666731e0e5af", + "source_request_timings_before_decoder_fix": { + "encode_s": 0.09934491687454283, + "dit_setup_s": 1.0922138749156147, + "step_0_s": 10.57918579201214, + "step_1_s": 10.63422887492925, + "step_2_s": 10.868061624933034, + "step_3_s": 10.963727083057165, + "step_4_s": 10.984185874927789, + "step_5_s": 10.98608429194428, + "decode_s": 2.3988947081379592, + "total_s": 68.73201379179955 + }, + "decoder_revalidated": { + "revision": 2, + "method": "FP32 LayerNorm affine before BF16 rounding", + "same_saved_latent": true, + "decode_s": 2.0950714577920735 + }, + "timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total" +} diff --git a/reports/modulation-audit.json b/reports/modulation-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..07bfcc0f5cc568ac295f04181e58de0b25cca430 --- /dev/null +++ b/reports/modulation-audit.json @@ -0,0 +1,45 @@ +{ + "source": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900", + "layers": [ + { + "layer": 0, + "batched_vs_individual_mlx": { + "max_abs": 0.015625, + "relative_rmse": 0.0023539047688245773, + "equal_fraction": 0.7525249123573303 + }, + "mlx_vs_native_torch_cpu": { + "max_abs": 0.0078125, + "relative_rmse": 0.00012667215196415782, + "equal_fraction": 0.9857614636421204 + } + }, + { + "layer": 25, + "batched_vs_individual_mlx": { + "max_abs": 0.03125, + "relative_rmse": 0.002438822528347373, + "equal_fraction": 0.7723024487495422 + }, + "mlx_vs_native_torch_cpu": { + "max_abs": 0.015625, + "relative_rmse": 0.00016331397637259215, + "equal_fraction": 0.9913590550422668 + } + }, + { + "layer": 49, + "batched_vs_individual_mlx": { + "max_abs": 0.125, + "relative_rmse": 0.0023825326934456825, + "equal_fraction": 0.8334711194038391 + }, + "mlx_vs_native_torch_cpu": { + "max_abs": 0.0625, + "relative_rmse": 0.00010624019341776147, + "equal_fraction": 0.9988287687301636 + } + } + ], + "scope": "Actual original weights; original one-row-per-step BF16 projections, FP32 timestep MLP; CPU PyTorch is not a CUDA image reference" +} diff --git a/reports/operators.json b/reports/operators.json new file mode 100644 index 0000000000000000000000000000000000000000..16be6cbda3d2c081168e876db923f85c835d322d --- /dev/null +++ b/reports/operators.json @@ -0,0 +1,1519 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "warmup": 2, + "repeats": 7, + "scope": "Synthetic operator microbenchmarks; excludes loading/quantization. Not image latency.", + "trials": [ + { + "operator": "rms_adaln", + "variant": "native_rounding", + "shape": [ + 256, + 5376 + ], + "median_ms": 1.173374941572547, + "min_ms": 0.616749981418252, + "max_ms": 1.2301669921725988, + "samples_ms": [ + 0.616749981418252, + 1.2266251724213362, + 1.0637501254677773, + 1.173374941572547, + 1.2301669921725988, + 1.195583026856184, + 1.1052920017391443 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "rms_adaln", + "variant": "metal_tg128", + "shape": [ + 256, + 5376 + ], + "median_ms": 0.5940420087426901, + "min_ms": 0.5400839727371931, + "max_ms": 0.7085409015417099, + "samples_ms": [ + 0.7085409015417099, + 0.5697500891983509, + 0.5824591498821974, + 0.5400839727371931, + 0.6797090172767639, + 0.5940420087426901, + 0.609041890129447 + ], + "max_abs": 0.015625, + "relative_rmse": 1.7477590517955832e-05, + "equal_fraction": 0.9999935030937195 + }, + { + "operator": "rms_adaln", + "variant": "metal_tg256", + "shape": [ + 256, + 5376 + ], + "median_ms": 0.5604161415249109, + "min_ms": 0.2424169797450304, + "max_ms": 0.6824578158557415, + "samples_ms": [ + 0.6682500243186951, + 0.5432919133454561, + 0.6824578158557415, + 0.6537078879773617, + 0.5389170255511999, + 0.5604161415249109, + 0.2424169797450304 + ], + "max_abs": 0.015625, + "relative_rmse": 2.209606464020908e-05, + "equal_fraction": 0.9999912977218628 + }, + { + "operator": "rms_adaln", + "variant": "metal_tg512", + "shape": [ + 256, + 5376 + ], + "median_ms": 0.8023330010473728, + "min_ms": 0.19370880909264088, + "max_ms": 0.8323339279741049, + "samples_ms": [ + 0.8323339279741049, + 0.8083749562501907, + 0.8090410847216845, + 0.7428331300616264, + 0.8023330010473728, + 0.19370880909264088, + 0.7230001501739025 + ], + "max_abs": 0.015625, + "relative_rmse": 1.8376344087300822e-05, + "equal_fraction": 0.9999912977218628 + }, + { + "operator": "qk_norm_rope", + "variant": "native", + "shape": [ + 256, + 56, + 128 + ], + "median_ms": 1.1400829534977674, + "min_ms": 0.6993331480771303, + "max_ms": 1.366166863590479, + "samples_ms": [ + 0.7345420308411121, + 0.7162499241530895, + 0.6993331480771303, + 1.2012079823762178, + 1.366166863590479, + 1.1400829534977674, + 1.2222910299897194 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "qk_norm_rope", + "variant": "metal", + "shape": [ + 256, + 56, + 128 + ], + "median_ms": 0.26829191483557224, + "min_ms": 0.24679210036993027, + "max_ms": 0.9639160707592964, + "samples_ms": [ + 0.9639160707592964, + 0.848833005875349, + 0.8924168068915606, + 0.26829191483557224, + 0.24679210036993027, + 0.264165922999382, + 0.2524999435991049 + ], + "max_abs": 0.00390625, + "relative_rmse": 3.6376052321429597e-06, + "equal_fraction": 0.9999983906745911 + }, + { + "operator": "gemm", + "variant": "bf16", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 2.5721671991050243, + "min_ms": 2.5016670115292072, + "max_ms": 2.6360841002315283, + "samples_ms": [ + 2.5721671991050243, + 2.580333035439253, + 2.587541937828064, + 2.5619592051953077, + 2.550124889239669, + 2.6360841002315283, + 2.5016670115292072 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "gemm", + "variant": "q8_g32", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 3.0226248782128096, + "min_ms": 3.0050419736653566, + "max_ms": 3.1408751383423805, + "samples_ms": [ + 3.018749877810478, + 3.040374955162406, + 3.0050419736653566, + 3.1321251299232244, + 3.1408751383423805, + 3.0226248782128096, + 3.0074999667704105 + ], + "max_abs": 0.0625, + "relative_rmse": 0.006850533653050661, + "equal_fraction": 0.24900999665260315 + }, + { + "operator": "gemm", + "variant": "q8_g64", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 2.9889577999711037, + "min_ms": 2.945707878097892, + "max_ms": 3.2797919120639563, + "samples_ms": [ + 3.110166173428297, + 3.0175000429153442, + 3.2797919120639563, + 2.9889577999711037, + 2.970875008031726, + 2.945707878097892, + 2.9832920990884304 + ], + "max_abs": 0.0625, + "relative_rmse": 0.007352763321250677, + "equal_fraction": 0.23354558646678925 + }, + { + "operator": "gemm", + "variant": "q8_g128", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 2.979417098686099, + "min_ms": 2.963416976854205, + "max_ms": 3.222458064556122, + "samples_ms": [ + 2.9804580844938755, + 3.222458064556122, + 3.1075000297278166, + 2.969249850139022, + 2.963416976854205, + 2.979417098686099, + 2.9705839697271585 + ], + "max_abs": 0.0625, + "relative_rmse": 0.007834218442440033, + "equal_fraction": 0.22005045413970947 + }, + { + "operator": "gemm", + "variant": "q4_g32", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 2.7746250852942467, + "min_ms": 2.7560831513255835, + "max_ms": 3.058916889131069, + "samples_ms": [ + 3.058916889131069, + 2.7560831513255835, + 2.7758749201893806, + 2.8548329137265682, + 2.7711251750588417, + 2.7608750388026237, + 2.7746250852942467 + ], + "max_abs": 0.64453125, + "relative_rmse": 0.08106927573680878, + "equal_fraction": 0.0220609400421381 + }, + { + "operator": "gemm", + "variant": "q4_g64", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 2.7238749898970127, + "min_ms": 2.707334002479911, + "max_ms": 2.966000000014901, + "samples_ms": [ + 2.966000000014901, + 2.7539171278476715, + 2.7230000123381615, + 2.7238749898970127, + 2.711624838411808, + 2.7322079986333847, + 2.707334002479911 + ], + "max_abs": 0.6953125, + "relative_rmse": 0.0909692719578743, + "equal_fraction": 0.01975395530462265 + }, + { + "operator": "gemm", + "variant": "q4_g128", + "shape": [ + 256, + 5376, + 21504 + ], + "median_ms": 2.727207960560918, + "min_ms": 2.6830830611288548, + "max_ms": 2.914041979238391, + "samples_ms": [ + 2.9036658816039562, + 2.914041979238391, + 2.7150840032845736, + 2.8310411144047976, + 2.727207960560918, + 2.6830830611288548, + 2.6853750459849834 + ], + "max_abs": 0.7509765625, + "relative_rmse": 0.09998571127653122, + "equal_fraction": 0.017951058223843575 + }, + { + "operator": "gemm", + "variant": "bf16", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.347999881953001, + "min_ms": 3.28362500295043, + "max_ms": 3.5925419069826603, + "samples_ms": [ + 3.347999881953001, + 3.2983338460326195, + 3.5925419069826603, + 3.4004999324679375, + 3.321249969303608, + 3.3945830073207617, + 3.28362500295043 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "gemm", + "variant": "q8_g32", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.924708114936948, + "min_ms": 3.8868330884724855, + "max_ms": 3.9580839220434427, + "samples_ms": [ + 3.924708114936948, + 3.9580839220434427, + 3.9263751823455095, + 3.929541911929846, + 3.8885409012436867, + 3.8868330884724855, + 3.892374923452735 + ], + "max_abs": 0.0625, + "relative_rmse": 0.0068595209158957005, + "equal_fraction": 0.24881459772586823 + }, + { + "operator": "gemm", + "variant": "q8_g64", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.9282499346882105, + "min_ms": 3.88133293017745, + "max_ms": 4.043041029945016, + "samples_ms": [ + 3.9579591248184443, + 3.8992909248918295, + 3.886499907821417, + 4.043041029945016, + 3.963541006669402, + 3.88133293017745, + 3.9282499346882105 + ], + "max_abs": 0.0625, + "relative_rmse": 0.007344856392592192, + "equal_fraction": 0.23325484991073608 + }, + { + "operator": "gemm", + "variant": "q8_g128", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.890999825671315, + "min_ms": 3.86029202491045, + "max_ms": 4.0629159193485975, + "samples_ms": [ + 4.019708139821887, + 3.86029202491045, + 3.8872910663485527, + 3.864959115162492, + 4.0629159193485975, + 3.9462910499423742, + 3.890999825671315 + ], + "max_abs": 0.0625, + "relative_rmse": 0.007839743979275227, + "equal_fraction": 0.21977084875106812 + }, + { + "operator": "gemm", + "variant": "q4_g32", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.6355829797685146, + "min_ms": 3.614082932472229, + "max_ms": 3.8034170866012573, + "samples_ms": [ + 3.6440829280763865, + 3.622000105679035, + 3.663749899715185, + 3.6355829797685146, + 3.6264171358197927, + 3.8034170866012573, + 3.614082932472229 + ], + "max_abs": 0.63214111328125, + "relative_rmse": 0.08107927441596985, + "equal_fraction": 0.02212129347026348 + }, + { + "operator": "gemm", + "variant": "q4_g64", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.5808749962598085, + "min_ms": 3.555125091224909, + "max_ms": 3.729666117578745, + "samples_ms": [ + 3.5808749962598085, + 3.5678748972713947, + 3.729666117578745, + 3.6466249730437994, + 3.5678751301020384, + 3.6204170901328325, + 3.555125091224909 + ], + "max_abs": 0.7109375, + "relative_rmse": 0.09099964797496796, + "equal_fraction": 0.01962498389184475 + }, + { + "operator": "gemm", + "variant": "q4_g128", + "shape": [ + 256, + 5376, + 28672 + ], + "median_ms": 3.5667498596012592, + "min_ms": 3.5494170151650906, + "max_ms": 3.6764999385923147, + "samples_ms": [ + 3.6764999385923147, + 3.553125075995922, + 3.5667498596012592, + 3.5774579737335443, + 3.5494170151650906, + 3.554082941263914, + 3.568042069673538 + ], + "max_abs": 0.84375, + "relative_rmse": 0.10004469007253647, + "equal_fraction": 0.017870495095849037 + }, + { + "operator": "gemm", + "variant": "bf16", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.098832977935672, + "min_ms": 2.0805420354008675, + "max_ms": 2.1304998081177473, + "samples_ms": [ + 2.113000024110079, + 2.098832977935672, + 2.1304998081177473, + 2.094374969601631, + 2.0852498710155487, + 2.1142091136425734, + 2.0805420354008675 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "gemm", + "variant": "q8_g32", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.3393749725073576, + "min_ms": 2.302875043824315, + "max_ms": 2.5676661171019077, + "samples_ms": [ + 2.3640000727027655, + 2.5676661171019077, + 2.556499792262912, + 2.3393749725073576, + 2.338541904464364, + 2.302875043824315, + 2.3251669481396675 + ], + "max_abs": 0.0859375, + "relative_rmse": 0.006851653102785349, + "equal_fraction": 0.2485344409942627 + }, + { + "operator": "gemm", + "variant": "q8_g64", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.398208947852254, + "min_ms": 2.242250135168433, + "max_ms": 2.6454171165823936, + "samples_ms": [ + 2.398208947852254, + 2.2548330016434193, + 2.5238750968128443, + 2.6454171165823936, + 2.398416865617037, + 2.37491587176919, + 2.242250135168433 + ], + "max_abs": 0.09375, + "relative_rmse": 0.007338221650570631, + "equal_fraction": 0.2334180623292923 + }, + { + "operator": "gemm", + "variant": "q8_g128", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.2256250958889723, + "min_ms": 2.209833823144436, + "max_ms": 2.2738338448107243, + "samples_ms": [ + 2.2117909975349903, + 2.214916981756687, + 2.209833823144436, + 2.263291971758008, + 2.2330000065267086, + 2.2256250958889723, + 2.2738338448107243 + ], + "max_abs": 0.09375, + "relative_rmse": 0.007827789522707462, + "equal_fraction": 0.2200208455324173 + }, + { + "operator": "gemm", + "variant": "q4_g32", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.159459050744772, + "min_ms": 2.059374935925007, + "max_ms": 2.193290973082185, + "samples_ms": [ + 2.059374935925007, + 2.18175002373755, + 2.159459050744772, + 2.075666096061468, + 2.193290973082185, + 2.122832927852869, + 2.159666968509555 + ], + "max_abs": 0.9296875, + "relative_rmse": 0.08106718212366104, + "equal_fraction": 0.02191670797765255 + }, + { + "operator": "gemm", + "variant": "q4_g64", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.067500026896596, + "min_ms": 1.9949160050600767, + "max_ms": 2.128707943484187, + "samples_ms": [ + 2.067500026896596, + 2.0210829097777605, + 2.096999902278185, + 2.128707943484187, + 1.9949160050600767, + 2.0117908716201782, + 2.0698329899460077 + ], + "max_abs": 1.0390625, + "relative_rmse": 0.09107401221990585, + "equal_fraction": 0.0195334292948246 + }, + { + "operator": "gemm", + "variant": "q4_g128", + "shape": [ + 256, + 14336, + 5376 + ], + "median_ms": 2.079749945551157, + "min_ms": 2.0619581919163465, + "max_ms": 2.380209043622017, + "samples_ms": [ + 2.0619581919163465, + 2.0739170722663403, + 2.1086670458316803, + 2.079749945551157, + 2.380209043622017, + 2.083666855469346, + 2.062832936644554 + ], + "max_abs": 1.171875, + "relative_rmse": 0.10009276866912842, + "equal_fraction": 0.01786004938185215 + }, + { + "operator": "sdpa", + "variant": "query_chunk_0", + "shape": [ + 1, + 256, + 56, + 128 + ], + "median_ms": 0.32275007106363773, + "min_ms": 0.31208316795527935, + "max_ms": 0.3370409831404686, + "samples_ms": [ + 0.3233749885112047, + 0.32275007106363773, + 0.31208316795527935, + 0.31349994242191315, + 0.33125001937150955, + 0.3370409831404686, + 0.31766598112881184 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "sdpa", + "variant": "query_chunk_128", + "shape": [ + 1, + 256, + 56, + 128 + ], + "median_ms": 0.6250408478081226, + "min_ms": 0.5880000535398722, + "max_ms": 0.684875063598156, + "samples_ms": [ + 0.684875063598156, + 0.6232080049812794, + 0.6250408478081226, + 0.6210829596966505, + 0.631541945040226, + 0.632166862487793, + 0.5880000535398722 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "sdpa", + "variant": "query_chunk_512", + "shape": [ + 1, + 256, + 56, + 128 + ], + "median_ms": 0.28816587291657925, + "min_ms": 0.25708298198878765, + "max_ms": 0.2957081887871027, + "samples_ms": [ + 0.2957081887871027, + 0.29191700741648674, + 0.28900010511279106, + 0.27449987828731537, + 0.28816587291657925, + 0.2626250497996807, + 0.25708298198878765 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "sdpa", + "variant": "query_chunk_1024", + "shape": [ + 1, + 256, + 56, + 128 + ], + "median_ms": 0.2906669396907091, + "min_ms": 0.2794580068439245, + "max_ms": 0.3147500101476908, + "samples_ms": [ + 0.27962494641542435, + 0.2935829106718302, + 0.29037497006356716, + 0.3147500101476908, + 0.2794580068439245, + 0.2906669396907091, + 0.2928751055151224 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "rms_adaln", + "variant": "native_rounding", + "shape": [ + 4096, + 5376 + ], + "median_ms": 3.5581670235842466, + "min_ms": 3.5174579825252295, + "max_ms": 3.779958002269268, + "samples_ms": [ + 3.5195830278098583, + 3.706582821905613, + 3.779958002269268, + 3.5999580286443233, + 3.5581670235842466, + 3.530999878421426, + 3.5174579825252295 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "rms_adaln", + "variant": "metal_tg128", + "shape": [ + 4096, + 5376 + ], + "median_ms": 0.5828330758959055, + "min_ms": 0.5625830963253975, + "max_ms": 0.7374170236289501, + "samples_ms": [ + 0.5748749244958162, + 0.6655419711023569, + 0.5828330758959055, + 0.5625830963253975, + 0.7374170236289501, + 0.5845420528203249, + 0.5679160822182894 + ], + "max_abs": 0.03125, + "relative_rmse": 1.081336540664779e-05, + "equal_fraction": 0.9999977350234985 + }, + { + "operator": "rms_adaln", + "variant": "metal_tg256", + "shape": [ + 4096, + 5376 + ], + "median_ms": 0.542541965842247, + "min_ms": 0.5144169554114342, + "max_ms": 0.5596249829977751, + "samples_ms": [ + 0.547375064343214, + 0.5328329280018806, + 0.5336250178515911, + 0.5144169554114342, + 0.5596249829977751, + 0.542541965842247, + 0.5430420860648155 + ], + "max_abs": 0.015625, + "relative_rmse": 9.978849448089022e-06, + "equal_fraction": 0.9999976754188538 + }, + { + "operator": "rms_adaln", + "variant": "metal_tg512", + "shape": [ + 4096, + 5376 + ], + "median_ms": 0.5379160866141319, + "min_ms": 0.5112909711897373, + "max_ms": 0.5407920107245445, + "samples_ms": [ + 0.5379160866141319, + 0.5390408914536238, + 0.5112909711897373, + 0.5176248960196972, + 0.5320410709828138, + 0.5397088825702667, + 0.5407920107245445 + ], + "max_abs": 0.03125, + "relative_rmse": 1.3310983376868535e-05, + "equal_fraction": 0.9999973177909851 + }, + { + "operator": "qk_norm_rope", + "variant": "native", + "shape": [ + 4096, + 56, + 128 + ], + "median_ms": 10.960625018924475, + "min_ms": 10.198707925155759, + "max_ms": 13.119417009875178, + "samples_ms": [ + 13.119417009875178, + 12.153874849900603, + 11.330457869917154, + 10.960625018924475, + 10.477333795279264, + 10.198707925155759, + 10.489040985703468 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "qk_norm_rope", + "variant": "metal", + "shape": [ + 4096, + 56, + 128 + ], + "median_ms": 2.057416830211878, + "min_ms": 2.032166812568903, + "max_ms": 2.1125830244272947, + "samples_ms": [ + 2.1125830244272947, + 2.032166812568903, + 2.0543329883366823, + 2.108125016093254, + 2.0634999964386225, + 2.057416830211878, + 2.04420811496675 + ], + "max_abs": 0.015625, + "relative_rmse": 9.562711966282222e-06, + "equal_fraction": 0.9999966621398926 + }, + { + "operator": "gemm", + "variant": "bf16", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 37.58908296003938, + "min_ms": 37.561249919235706, + "max_ms": 37.69441717304289, + "samples_ms": [ + 37.66870801337063, + 37.616125075146556, + 37.69441717304289, + 37.58908296003938, + 37.573833018541336, + 37.58049989119172, + 37.561249919235706 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "gemm", + "variant": "q8_g32", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 43.576583033427596, + "min_ms": 43.46295795403421, + "max_ms": 43.9285000320524, + "samples_ms": [ + 43.9285000320524, + 43.55879197828472, + 43.46295795403421, + 43.5891249217093, + 43.576583033427596, + 43.54733298532665, + 43.7540418934077 + ], + "max_abs": 0.0625, + "relative_rmse": 0.006848405115306377, + "equal_fraction": 0.24890799820423126 + }, + { + "operator": "gemm", + "variant": "q8_g64", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 43.335665948688984, + "min_ms": 42.99841704778373, + "max_ms": 43.70733303949237, + "samples_ms": [ + 43.32091589458287, + 42.99841704778373, + 43.70733303949237, + 43.48420910537243, + 43.335665948688984, + 43.42833301052451, + 43.065707897767425 + ], + "max_abs": 0.0625, + "relative_rmse": 0.007345186080783606, + "equal_fraction": 0.2333000749349594 + }, + { + "operator": "gemm", + "variant": "q8_g128", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 43.26391592621803, + "min_ms": 42.786624981090426, + "max_ms": 43.67449996061623, + "samples_ms": [ + 43.431750033050776, + 43.67449996061623, + 43.26391592621803, + 42.962417006492615, + 42.786624981090426, + 43.42845897190273, + 43.2283750269562 + ], + "max_abs": 0.0703125, + "relative_rmse": 0.00781948957592249, + "equal_fraction": 0.22026407718658447 + }, + { + "operator": "gemm", + "variant": "q4_g32", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 41.20029206387699, + "min_ms": 41.03312501683831, + "max_ms": 41.38141707517207, + "samples_ms": [ + 41.1425840575248, + 41.38141707517207, + 41.20029206387699, + 41.150250006467104, + 41.20558290742338, + 41.33666702546179, + 41.03312501683831 + ], + "max_abs": 0.71875, + "relative_rmse": 0.0810740664601326, + "equal_fraction": 0.022041741758584976 + }, + { + "operator": "gemm", + "variant": "q4_g64", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 40.671000024303794, + "min_ms": 40.518667083233595, + "max_ms": 40.88425007648766, + "samples_ms": [ + 40.66379205323756, + 40.611709002405405, + 40.518667083233595, + 40.88425007648766, + 40.671000024303794, + 40.70158419199288, + 40.81641719676554 + ], + "max_abs": 0.763671875, + "relative_rmse": 0.09098212420940399, + "equal_fraction": 0.019682418555021286 + }, + { + "operator": "gemm", + "variant": "q4_g128", + "shape": [ + 4096, + 5376, + 21504 + ], + "median_ms": 40.219750022515655, + "min_ms": 40.07566696964204, + "max_ms": 40.326499845832586, + "samples_ms": [ + 40.313333040103316, + 40.326499845832586, + 40.219750022515655, + 40.076584089547396, + 40.18954187631607, + 40.07566696964204, + 40.235500084236264 + ], + "max_abs": 0.861328125, + "relative_rmse": 0.10006927698850632, + "equal_fraction": 0.01790381595492363 + }, + { + "operator": "gemm", + "variant": "bf16", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 50.183625193312764, + "min_ms": 50.01025018282235, + "max_ms": 50.473124952986836, + "samples_ms": [ + 50.073042046278715, + 50.473124952986836, + 50.01025018282235, + 50.22287485189736, + 50.05783401429653, + 50.183625193312764, + 50.22233398631215 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "gemm", + "variant": "q8_g32", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 58.16854094155133, + "min_ms": 57.83437518402934, + "max_ms": 58.548124972730875, + "samples_ms": [ + 58.37570782750845, + 58.548124972730875, + 58.050625026226044, + 58.243790874257684, + 58.11225017532706, + 58.16854094155133, + 57.83437518402934 + ], + "max_abs": 0.0625, + "relative_rmse": 0.0068477122113108635, + "equal_fraction": 0.2489926517009735 + }, + { + "operator": "gemm", + "variant": "q8_g64", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 57.96945793554187, + "min_ms": 57.74970795027912, + "max_ms": 58.27745795249939, + "samples_ms": [ + 58.05641692131758, + 57.74970795027912, + 57.96945793554187, + 57.95050016604364, + 58.27745795249939, + 57.87858390249312, + 57.978666853159666 + ], + "max_abs": 0.0625, + "relative_rmse": 0.007344013080000877, + "equal_fraction": 0.23339642584323883 + }, + { + "operator": "gemm", + "variant": "q8_g128", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 58.31704195588827, + "min_ms": 57.85416602157056, + "max_ms": 58.81566694006324, + "samples_ms": [ + 57.94695811346173, + 57.85416602157056, + 58.45699994824827, + 58.159250067546964, + 58.31704195588827, + 58.81566694006324, + 58.56541683897376 + ], + "max_abs": 0.06640625, + "relative_rmse": 0.00781780295073986, + "equal_fraction": 0.2203386276960373 + }, + { + "operator": "gemm", + "variant": "q4_g32", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 55.75945810414851, + "min_ms": 54.988875053822994, + "max_ms": 56.057958863675594, + "samples_ms": [ + 54.988875053822994, + 55.60045805759728, + 55.75945810414851, + 55.441749980673194, + 56.057958863675594, + 55.944374995306134, + 55.823208997026086 + ], + "max_abs": 0.6640625, + "relative_rmse": 0.08107572048902512, + "equal_fraction": 0.022053532302379608 + }, + { + "operator": "gemm", + "variant": "q4_g64", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 55.38108292967081, + "min_ms": 54.57354104146361, + "max_ms": 55.79287512227893, + "samples_ms": [ + 54.57354104146361, + 55.38108292967081, + 55.60295912437141, + 55.10041699744761, + 55.79287512227893, + 55.68016692996025, + 55.32279098406434 + ], + "max_abs": 0.763916015625, + "relative_rmse": 0.09099233150482178, + "equal_fraction": 0.019668912515044212 + }, + { + "operator": "gemm", + "variant": "q4_g128", + "shape": [ + 4096, + 5376, + 28672 + ], + "median_ms": 55.30212516896427, + "min_ms": 54.67195808887482, + "max_ms": 55.79587514512241, + "samples_ms": [ + 54.813416907563806, + 54.67195808887482, + 55.29566598124802, + 55.30212516896427, + 55.365709122270346, + 55.59012503363192, + 55.79587514512241 + ], + "max_abs": 0.853515625, + "relative_rmse": 0.10007014870643616, + "equal_fraction": 0.017912209033966064 + }, + { + "operator": "gemm", + "variant": "bf16", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 29.900042107328773, + "min_ms": 28.89745798893273, + "max_ms": 30.47887491993606, + "samples_ms": [ + 30.47887491993606, + 29.908499913290143, + 29.61533283814788, + 28.89745798893273, + 29.382749926298857, + 29.900042107328773, + 30.169625068083405 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "gemm", + "variant": "q8_g32", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 32.60995796881616, + "min_ms": 32.3443750385195, + "max_ms": 33.24191691353917, + "samples_ms": [ + 32.51500008627772, + 32.3443750385195, + 32.59654110297561, + 32.8078749589622, + 32.94933307915926, + 32.60995796881616, + 33.24191691353917 + ], + "max_abs": 0.09375, + "relative_rmse": 0.006849921308457851, + "equal_fraction": 0.24884523451328278 + }, + { + "operator": "gemm", + "variant": "q8_g64", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 32.50916698016226, + "min_ms": 31.81283315643668, + "max_ms": 33.11962494626641, + "samples_ms": [ + 32.13399997912347, + 31.956125050783157, + 31.81283315643668, + 32.66279213130474, + 32.50916698016226, + 33.11962494626641, + 32.73437498137355 + ], + "max_abs": 0.09375, + "relative_rmse": 0.0073441751301288605, + "equal_fraction": 0.23339390754699707 + }, + { + "operator": "gemm", + "variant": "q8_g128", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 32.53870899789035, + "min_ms": 31.987624941393733, + "max_ms": 32.83950011245906, + "samples_ms": [ + 32.462208066135645, + 32.62395807541907, + 32.83950011245906, + 32.55154099315405, + 32.53870899789035, + 32.40154217928648, + 31.987624941393733 + ], + "max_abs": 0.125, + "relative_rmse": 0.007824343629181385, + "equal_fraction": 0.22009055316448212 + }, + { + "operator": "gemm", + "variant": "q4_g32", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 30.538500053808093, + "min_ms": 29.95408303104341, + "max_ms": 30.80308297649026, + "samples_ms": [ + 30.08712502196431, + 29.95408303104341, + 30.80308297649026, + 30.737000051885843, + 30.45966592617333, + 30.538500053808093, + 30.643749982118607 + ], + "max_abs": 1.1328125, + "relative_rmse": 0.08104117959737778, + "equal_fraction": 0.02208491787314415 + }, + { + "operator": "gemm", + "variant": "q4_g64", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 29.812082881107926, + "min_ms": 29.65637482702732, + "max_ms": 30.311124864965677, + "samples_ms": [ + 29.684999957680702, + 29.65637482702732, + 29.743541963398457, + 29.951457865536213, + 29.812082881107926, + 30.01641691662371, + 30.311124864965677 + ], + "max_abs": 1.18359375, + "relative_rmse": 0.09096471965312958, + "equal_fraction": 0.019711222499608994 + }, + { + "operator": "gemm", + "variant": "q4_g128", + "shape": [ + 4096, + 14336, + 5376 + ], + "median_ms": 29.769500019028783, + "min_ms": 29.42449995316565, + "max_ms": 29.965666122734547, + "samples_ms": [ + 29.884499963372946, + 29.42449995316565, + 29.77370796725154, + 29.965666122734547, + 29.769500019028783, + 29.60404218174517, + 29.57754209637642 + ], + "max_abs": 1.32421875, + "relative_rmse": 0.10005950182676315, + "equal_fraction": 0.01792476326227188 + }, + { + "operator": "sdpa", + "variant": "query_chunk_0", + "shape": [ + 1, + 4096, + 56, + 128 + ], + "median_ms": 24.146165931597352, + "min_ms": 23.585624992847443, + "max_ms": 24.465749971568584, + "samples_ms": [ + 23.585624992847443, + 23.93633290193975, + 24.196083890274167, + 24.06216599047184, + 24.146165931597352, + 24.465749971568584, + 24.197667138651013 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "sdpa", + "variant": "query_chunk_128", + "shape": [ + 1, + 4096, + 56, + 128 + ], + "median_ms": 41.21925006620586, + "min_ms": 41.048833169043064, + "max_ms": 41.29937500692904, + "samples_ms": [ + 41.06008284725249, + 41.21925006620586, + 41.29687510430813, + 41.25925013795495, + 41.29937500692904, + 41.048833169043064, + 41.09108285047114 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "sdpa", + "variant": "query_chunk_512", + "shape": [ + 1, + 4096, + 56, + 128 + ], + "median_ms": 26.095834095031023, + "min_ms": 25.888917036354542, + "max_ms": 26.268708053976297, + "samples_ms": [ + 25.888917036354542, + 26.00116585381329, + 25.939542101696134, + 26.095834095031023, + 26.154958875849843, + 26.268708053976297, + 26.120957918465137 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "sdpa", + "variant": "query_chunk_1024", + "shape": [ + 1, + 4096, + 56, + 128 + ], + "median_ms": 25.337791070342064, + "min_ms": 25.203832890838385, + "max_ms": 25.563500123098493, + "samples_ms": [ + 25.29804199002683, + 25.253874948248267, + 25.337791070342064, + 25.203832890838385, + 25.563500123098493, + 25.462209014222026, + 25.39620897732675 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + } + ] +} diff --git a/reports/optimization-r3/METHOD.md b/reports/optimization-r3/METHOD.md new file mode 100644 index 0000000000000000000000000000000000000000..8259bf787395d7b8403ad74a167c2a53fa116a72 --- /dev/null +++ b/reports/optimization-r3/METHOD.md @@ -0,0 +1,36 @@ +# M5 Pro optimization round 3 + +This campaign applies `tmp/mlx-skills/SKILL.md` to MiniMax-H3-Image. The contract is frozen in `optimization/round-03/contract.json`. The objective is latency, with zero additional decoded-pixel error and zero nonfinite states. Saved trajectory payloads are checked independently of PNG conversion. The production source is snapshotted before inference under `outputs/optimization-r3-deployment/source/`. + +The independent precision foundation remains the inspected official implementation and ATen primitive checks in `provenance/sources.json` and `tests/test_numerics.py`. This round establishes incremental identity to the existing MLX BF16 recipe. It does not establish CUDA byte identity or recover unpublished FP32 weights. The earlier same-latent BF16/FP32 decoder and cross-backend CUDA comparison galleries remain separate references. + +## Workload and scope + +- Hardware: local Apple M5 Pro, 16 GPU cores, 64 GiB unified memory, macOS 27.0.1, MLX/MLX Metal 0.32.4. +- AC Automatic power. User applications remain running. No system power, swap, or background-process settings are changed. +- Timing cases: 2048-square product and portrait, three warm repeats each, with control/candidate order AB, BA, AB. Both configurations receive one complete warmup per timing shape. Loading and first-image results are retained separately. +- Quality cases: the same product and portrait, a detail-heavy prompt/seed fixed before search, and a 1024 reference-image edit on the original 2048 generation canvas. The detail case and edit are not used to select operator parameters. They are validation cases rather than a broad perceptual-quality dataset. +- Timing boundary: `Pipeline.generate` total time, including original CPU Torch RNG, conditioning-cache checks, all six original heads, native decode, trace and PNG save. Interpreter startup and external image scoring are excluded. +- Physical memory: parent-process macOS `ri_phys_footprint`, sampled every 100 ms over each generation. Includes Metal, excludes compiler XPC services; short peaks may be missed. The kernel's lifetime high-water counter is also retained but includes earlier requests. The ctypes ABI was verified against a compiled SDK `sizeof/offsetof` probe. +- MLX active/peak/cache counters are reported independently. They overlap physical footprint and must not be added. Both compiled variants can remain resident in the paired process, sharing the same native weights. + +## Search sequence + +1. Actual first-block activations, including FC2 values above 4,000, rather than small normally distributed test inputs. +2. Six attention copy/layout settings; 60 Metal 4 FC1/FC2 tiles; 12 lossless unpack settings (two real projection weights); native-order Q/K producers; complete compiled blocks. +3. Three RMSNorm/AdaLN threadgroup layouts. Only the 1,024-thread native loop/reduction layout matched the actual BF16 operator exactly. +4. Eight dual-accumulator FC1/SwiGLU epilogues, then four larger FC2 K-panel settings. Combined with step 2, this is 72 distinct matrix settings. Compiler/harness failures are archived separately and are not successful operator trials. +5. Real 6,213-token edit and 16,478-token 4K FC2 activations. An additional 8,192-row boundary probe repeats actual edit activations and is explicitly an operator test, not a new complete-image validation. +6. Complete research outputs and then a separate production-entry-point campaign. No timing is pooled across those campaigns or with v2. + +All selected work preserves the original weight bits, six sigma intervals, RNG, attention semantics and BF16/FP32 boundaries. Unsupported devices, MLX versions and shapes retain native execution. Q4/Q8, fewer heads, differing reductions and Core ML FP16 exports do not meet the exact campaign's quality contract. + +## Other backends + +The earlier `reports/optimization-v2/RESULTS.md` contains actual complete VAE ML Packages on CPU_ONLY, CPU_AND_GPU, CPU_AND_NE and ALL, plus Torch CPU/MPS and direct Metal/MPSMatrix probes. Those are historical evidence, not retimings in this campaign. The Core ML work is a complete 24-block VAE export, not a 33B Core ML denoiser. GPU/ALL did not establish a generation-throughput advantage, and ANE showed real-image accuracy failures. No new full-denoiser ANE export or universal backend limit is claimed here. + +The skill's historical source artifacts were unavailable at their registered workspace paths; the audit is retained as `skill-source-audit.json`. Its workflows and hypotheses were applied, but its previous project numbers were not used as current controls. New source-derived reductions were checked against the installed runtime and complete model outputs. + +## Compact campaign + +A separate frozen contract in `optimization/round-03-compact` compares the previous packed12 champion (native kernels, wired 32 GiB) with the same storage plus exact QK/FC2 tuning. It uses the identical four cases and three paired timing repeats. Its timings are not pooled with the dense campaigns. All underlying BF16 weight bits and output tensors remain unchanged. diff --git a/reports/optimization-r3/RESULTS.md b/reports/optimization-r3/RESULTS.md new file mode 100644 index 0000000000000000000000000000000000000000..9f949e8f48499a8815852547f2add89662089e1f --- /dev/null +++ b/reports/optimization-r3/RESULTS.md @@ -0,0 +1,81 @@ +# Exact M5 optimization, round 3 + +On the local **M5 Pro, 16 GPU cores, 64 GiB**, the selected Q/K fusion and FC2 tile reduce warm geometric-mean latency from **65.83 s to 62.49 s (5.07%)**. Maximum sampled parent physical footprint over the timing population decreases from **40.12 to 39.74 GiB**. All four declared cases retain identical RGB pixels, conditioning, six velocities, six Euler states and final latents. + +This is an incremental comparison with the existing MLX BF16 recipe. It does not claim CUDA byte identity or identity to the separate FP32 decoder. The [image gallery](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-r3/index.html) links actual matched grids, vertical stacks, native-resolution crops and amplified differences, plus earlier precision-loss examples. + +## Paired complete-image results + +macOS 27.0.1, MLX/MLX Metal 0.32.4, original CPU Torch RNG, all six heads, native compiled VAE batch four, cached conditioning and resident shared weights. Each timing shape receives a full warmup per variant. Repeats alternate AB, BA, AB; black dots in the chart are individual samples. First-load samples are retained separately. The timing includes trace/PNG save and excludes interpreter startup and external image scoring. + +| 2048-square case | Native samples (s) | Native median | Tuned samples (s) | Tuned median | +|---|---|---:|---|---:| +| product | 67.02, 66.80, 64.56 | 66.80 | 63.90, 64.24, 61.27 | 63.90 | +| portrait | 64.23, 64.86, 65.15 | 64.86 | 60.65, 61.11, 62.01 | 61.11 | + +The frozen helper reports **`measured_improvement`**: all quality gates pass, both timing-case ranges are separated, and the memory constraint passes. This is a descriptive range screen with three repeats, not a statistical confidence interval. [Comparison receipt](qk-deployment/comparison.json), [reopened pixel/tensor audit](qk-deployment/quality-audit.json), [timing and memory chart](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/reports/optimization-r3/timing-memory.png). + +Physical footprint is sampled every 100 ms for the parent process, including Metal and excluding compiler XPC services. Short peaks can be missed. MLX allocator peaks and process lifetime high water are separate overlapping counters; they are not added. Both compiled variants can remain resident. The [method and frozen scope](METHOD.md) explain the boundary, environment and references. The two extra quality cases are a detail prompt fixed before search and a reference-image edit; subsequent configurations reuse these cases rather than introducing fresh blind holdouts. + +## Lossless packed configuration + +The existing `packed12` BF16 codec combines successfully with the selected exact tuning. Its own paired campaign reduces warm geometric-mean latency from **66.42 to 64.05 s (3.57%)**, with timing-population physical peak decreasing from **32.04 to 31.83 GiB**. All four image and trajectory cases are exact. The helper returns `measured_improvement`. [Receipt](compact-deployment/comparison.json), [full audit](compact-deployment/quality-audit.json), [chart](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/reports/optimization-r3/compact-timing-memory.png). + +| Case | Packed control median (s) | Packed tuned median (s) | Tuned samples (s) | +|---|---:|---:|---| +| product | 66.74 | 64.86 | 64.86, 65.30, 63.02 | +| portrait | 66.11 | 63.26 | 63.44, 62.98, 63.26 | + +Across **all** observed candidate outputs, including the edit validation rather than just timed cases, maximum sampled physical footprint is **40.50 GiB dense / 32.56 GiB packed**. These are separate campaigns: timings are compared against each profile's own paired control, not pooled into a storage speedup. The packing format was implemented in v2; this round validates the new operator tuning with it. Original BF16 payloads are reconstructed exactly before GEMM. No quantization is introduced. + +Add `--weight-storage packed12 --wired-gb 32` to the dense command below. The existing 50-block, 27.23 GiB cache was reused; no second model cache was created. Compressed arrays remain explicit dynamic inputs to compiled blocks, preventing retained dense-weight constant folding. The separate frozen compact contract allows up to 5% memory regression before measurement; the measured peak actually decreases. Its validation cases are reused, not fresh blind holdouts. + +## Implemented changes + +- **Q/K normalization and RoPE:** four adjacent BF16 reads per SIMD lane, the installed MLX reduction order, precise reciprocal square root, FP32 affine and explicit BF16 product/add boundaries. The earlier differing fusion did not preserve this arithmetic. The new producer matches complete deployed trajectories. +- **M5 FC2:** Metal 4 TensorOps, 64×128×512 tile, four SIMD groups, eight-row tile walk, FP32 accumulation and one BF16 epilogue. Dispatch is restricted to the tested M5 Pro/MLX version and 4,096–8,192 joint tokens. The real 6,213-token edit operator improves about 13%; the 16,478-token 4K operator improves under 1%, so 4K retains native execution. The 8,192-row boundary probe repeats real edit activations and is an operator test, not a full 8K-token image qualification. +- **Vocabulary row reads:** cold encoding reads only requested safetensors rows with original BF16 payloads, preserving order, duplicates and padding. Three fresh-process pairs on real weights reduce this phase from 107.8 ms to 4.95 ms and its sampled physical peak from 1.52 GiB to about 31 MiB. This is an embedding-read result, not a whole-model speedup or peak reduction. +- **Memory accounting:** JSON now separates process physical memory from MLX active/peak/cache. The SDK struct layout was checked with a compiled C ABI probe. + +The released implementation is in [tuning.py](../../h3_mlx/tuning.py), [ops.py](../../h3_mlx/ops.py), [dit.py](../../h3_mlx/dit.py), [weights.py](../../h3_mlx/weights.py) and [memory.py](../../h3_mlx/memory.py). Unsupported devices, versions and shapes keep native execution. Default precision, schedule and native fallback remain available. + +## Rejected and conditional results + +The full-width RMSNorm/AdaLN fusion is exact on all four cases. It improves an already tuned first block by 4.34%, but its complete-image campaign has 5.24% lower latency and **1.04094% higher** timing-population physical peak. That narrowly exceeds the predeclared 1% allowance, so the helper returns `no_qualified_improvement`. It remains an optional `--kernel metal-exact` tradeoff. Those samples are not pooled with the selected campaign, and their closeness does not establish an extra whole-model advantage. [Receipt](deployment/comparison.json). + +Other retained experiments include: + +| Mechanism | Observed result | Decision | +|---|---|---| +| Six explicit attention-copy layouts | Exact, no useful gain; copying all Q/K/V is slower | Native SDPA layout retained | +| Twelve vector-unpack settings | Decode alone about 20% faster; gain mostly disappears with GEMM | Existing scalar lossless codec retained | +| Eight FC1/SwiGLU dual-accumulator epilogues | Exact; best is still about 0.7% slower | Rejected | +| FC2 K panel 2048 | Operator improves 4.43% vs panel 512, complete block regresses 0.19% | Panel 512 retained | +| RMSNorm threadgroups 256/512 | Tiny BF16 differences; only 1024 reproduces the native loop | Differing operators rejected | +| Free-allocator cache 512 MiB | Block about 1.65% slower, no sampled physical-peak reduction | No allocator-limit change shipped | + +There are 72 distinct matrix settings, six attention layouts and twelve unpack settings, plus reduction/layout, block and shape checks. Compiler/harness failures are archived separately and are not successful trials. [Decision ledger](screen-decisions.json), [source provenance](../../provenance/optimization-r3.json), [observed project-local lesson](../../optimization/lessons/minimax-h3-r3-exact-qk-fc2.json). + +## Other backends and precision + +The [previous backend report](../optimization-v2/RESULTS.md) contains real Torch CPU/MPS, direct Metal/MPSMatrix, and complete 24-block VAE ML Packages on CPU_ONLY, CPU_AND_GPU, CPU_AND_NE and ALL. These are historical measurements, not current controls. The full 33B denoiser remains MLX; no complete ANE/Core ML denoiser export is claimed. ANE VAE quality failures, FP16 projection overflow, quantization and reduced-head losses have real [comparison grids](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/product/index.html) and a [same-latent device grid](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/decoder-all-product/comparison/index.html). + +The [same-latent FP32 decoder comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/fp32-reference/comparison/index.html) isolates the existing BF16 decoder choice. Select `--vae-dtype float32` when that separate precision/performance tradeoff is preferred. New exact tuning adds no loss relative to the stated MLX reference; that does not erase preexisting cross-backend differences. + +## Reproduce + +Use the pinned environment in `requirements-macos.lock` and the original local checkpoints. The recommended dense configuration is: + +```sh +h3-mlx generate --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --compile-blocks --eval-every 0 --prefetch-blocks 4 --wired-gb 42 \ + --compile-vae --vae-batch 4 --kernel metal-qk-exact --tune-matmul \ + "A detailed image description" --output outputs/tuned.png +``` + +The benchmark entry point is `python -m experiments.r3.images --deployment --variants qk-fc2-native-norm`, with model/encoder paths and a **fresh** output/comparison directory. Reopen and audit with `experiments.r3.report`, then validate and compare its receipts with `tmp/mlx-skills/scripts/mlx_skill.py`. Raw commands and configurations are retained in receipts and output JSON. The wheel is `dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl`; runtime source bytes are verified in `wheel.json`. + +## Deployment verification + +Version 0.3.0 builds as a 55,953-byte wheel. All 21 runtime modules match the repository source bytes. A complete 2048-square generation ran through the CLI from the actual wheel in `/tmp`, with an assertion preventing checkout imports. The delivered pixels and every saved trajectory tensor match the immutable reference exactly. Its fresh-process outer wall time was 67.35 s, including imports and loading; it is not pooled with warm timings. [Wheel/CLI verification](wheel-cli.json), [source-byte verification](wheel.json). All 39 tests pass, project lint passes, and changed-code formatting checks pass. diff --git a/reports/optimization-r3/STATUS.json b/reports/optimization-r3/STATUS.json new file mode 100644 index 0000000000000000000000000000000000000000..419cfbe1c83d20bbe71f5f8d196b3a0cfc0cc250 --- /dev/null +++ b/reports/optimization-r3/STATUS.json @@ -0,0 +1,27 @@ +{ + "state": "complete", + "active_session": null, + "current_log": null, + "runtime_frozen": "h3_mlx source matches outputs/optimization-r3-qk/source-manifest.json", + "complete": [ + "72 matrix settings, 6 attention layouts, 12 unpack settings, native-order norm/QK block tests", + "24 research images all tensors/pixels exact", + "20 full-norm production images all tensors/pixels exact, +5.2357% latency reduction, +1.04094% physical peak => strict memory gate failed", + "39 tests passed", + "512MiB cache screen rejected: slower and no footprint saving", + "Dense QK+FC2 production: measured_improvement, 5.0685% latency reduction, 0.9451% physical peak reduction, all four cases tensor/pixel exact.", + "Packed: measured_improvement, 3.5667% latency reduction, all four cases tensor/pixel exact, 32.56GiB maximum across candidate cases.", + "Actual 0.3.0 wheel CLI from /tmp: complete 2K pixels and every trajectory tensor identical to immutable reference.", + "12 case galleries, three four-case stacks, README and results complete; 39 tests and project lint pass." + ], + "next": [], + "global_gpu_deadline_utc": "2026-11-12 10:02:00", + "remaining_budget_note": "One GPU job at a time; retain <=5GiB new artifacts; no user background apps changed.", + "finished_utc": "2026-11-12T09:59:25.739751+00:00", + "artifacts": [ + "reports/optimization-r3/RESULTS.md", + "comparisons/optimization-r3/index.html", + "dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl", + "reports/optimization-r3/artifact-manifest.json" + ] +} diff --git a/reports/optimization-r3/SUMMARY.json b/reports/optimization-r3/SUMMARY.json new file mode 100644 index 0000000000000000000000000000000000000000..afec331bffafea3f025315353dce2eeb9a267c0b --- /dev/null +++ b/reports/optimization-r3/SUMMARY.json @@ -0,0 +1,189 @@ +{ + "schema_version": 1, + "dense": { + "schema_version": 1, + "baseline": "r3-deployment-control", + "candidate": "r3-deployment-qk-fc2-native-norm", + "decision": "measured_improvement", + "quality_pass": true, + "quality_checks": { + "max_abs_error": true, + "nonfinite_values": true + }, + "feasible": true, + "objective": "latency", + "latency_reduction_pct": 5.068505095942822, + "speedup": 1.053391185939559, + "peak_memory_reduction_pct": 0.9451447766078203, + "latency_range_screen_pass": true, + "baseline_summary": { + "cases": { + "product": { + "median_seconds": 66.80325495894067, + "min_seconds": 64.55974454106763, + "max_seconds": 67.02427170914598, + "repeats": 3, + "max_peak_memory_bytes": 42924694280 + }, + "portrait": { + "median_seconds": 64.86302212486044, + "min_seconds": 64.2339057920035, + "max_seconds": 65.15299695800059, + "repeats": 3, + "max_peak_memory_bytes": 43080719280 + } + }, + "geomean_seconds": 65.82599034131171, + "max_peak_memory_bytes": 43080719280 + }, + "candidate_summary": { + "cases": { + "product": { + "median_seconds": 63.90098704188131, + "min_seconds": 61.27363566705026, + "max_seconds": 64.23788916692138, + "repeats": 3, + "max_peak_memory_bytes": 42598718264 + }, + "portrait": { + "median_seconds": 61.10937987500802, + "min_seconds": 60.65490966709331, + "max_seconds": 62.00676687504165, + "repeats": 3, + "max_peak_memory_bytes": 42673544112 + } + }, + "geomean_seconds": 62.48959666640749, + "max_peak_memory_bytes": 42673544112 + }, + "scope": "Equal-weight geometric mean of declared timing-case medians; maximum observed memory. Range screen is descriptive, not statistical confidence; no automatic deployment." + }, + "packed": { + "schema_version": 1, + "baseline": "r3-deployment-control", + "candidate": "r3-deployment-qk-fc2-native-norm", + "decision": "measured_improvement", + "quality_pass": true, + "quality_checks": { + "max_abs_error": true, + "nonfinite_values": true + }, + "feasible": true, + "objective": "latency", + "latency_reduction_pct": 3.566731220528463, + "speedup": 1.0369865220340613, + "peak_memory_reduction_pct": 0.651693102293327, + "latency_range_screen_pass": true, + "baseline_summary": { + "cases": { + "product": { + "median_seconds": 66.73659237497486, + "min_seconds": 66.51806045905687, + "max_seconds": 67.69735000003129, + "repeats": 3, + "max_peak_memory_bytes": 34269748624 + }, + "portrait": { + "median_seconds": 66.11278283409774, + "min_seconds": 65.95004508295096, + "max_seconds": 66.77446975000203, + "repeats": 3, + "max_peak_memory_bytes": 34397462120 + } + }, + "geomean_seconds": 66.42395530811467, + "max_peak_memory_bytes": 34397462120 + }, + "candidate_summary": { + "cases": { + "product": { + "median_seconds": 64.8621540828608, + "min_seconds": 63.02173458295874, + "max_seconds": 65.30018041608855, + "repeats": 3, + "max_peak_memory_bytes": 34089393624 + }, + "portrait": { + "median_seconds": 63.25747816590592, + "min_seconds": 62.976549667073414, + "max_seconds": 63.443048041081056, + "repeats": 3, + "max_peak_memory_bytes": 34173296232 + } + }, + "geomean_seconds": 64.05479135623027, + "max_peak_memory_bytes": 34173296232 + }, + "scope": "Equal-weight geometric mean of declared timing-case medians; maximum observed memory. Range screen is descriptive, not statistical confidence; no automatic deployment." + }, + "full_norm_tradeoff": { + "schema_version": 1, + "baseline": "r3-deployment-control", + "candidate": "r3-deployment-qk-fc2", + "decision": "no_qualified_improvement", + "quality_pass": true, + "quality_checks": { + "max_abs_error": true, + "nonfinite_values": true + }, + "feasible": false, + "objective": "latency", + "latency_reduction_pct": 5.23567719335637, + "speedup": 1.0552494550511293, + "peak_memory_reduction_pct": -1.040944261192811, + "latency_range_screen_pass": true, + "baseline_summary": { + "cases": { + "product": { + "median_seconds": 65.85317666619085, + "min_seconds": 64.79533495893702, + "max_seconds": 68.77809108304791, + "repeats": 3, + "max_peak_memory_bytes": 42928544448 + }, + "portrait": { + "median_seconds": 64.66372808301821, + "min_seconds": 64.64417616720311, + "max_seconds": 64.91441170801409, + "repeats": 3, + "max_peak_memory_bytes": 43071298312 + } + }, + "geomean_seconds": 65.25574234767025, + "max_peak_memory_bytes": 43071298312 + }, + "candidate_summary": { + "cases": { + "product": { + "median_seconds": 62.625355625059456, + "min_seconds": 61.922258959151804, + "max_seconds": 63.23245245893486, + "repeats": 3, + "max_peak_memory_bytes": 43414117080 + }, + "portrait": { + "median_seconds": 61.06283883401193, + "min_seconds": 60.62431841692887, + "max_seconds": 61.68039979180321, + "repeats": 3, + "max_peak_memory_bytes": 43519646520 + } + }, + "geomean_seconds": 61.83916232821788, + "max_peak_memory_bytes": 43519646520 + }, + "scope": "Equal-weight geometric mean of declared timing-case medians; maximum observed memory. Range screen is descriptive, not statistical confidence; no automatic deployment." + }, + "all_cases_candidate_peak_physical_gib": { + "dense": 40.497702680528164, + "packed": 32.55612916499376 + }, + "quality": "Four cases, zero RGB pixel error and identical full saved trajectories for dense/packed selected modes", + "tests_passed": 39, + "wheel_full_cli_passed": true, + "new_complete_images": 85, + "matrix_settings": 72, + "attention_layout_settings": 6, + "unpack_settings": 12, + "scope": "Local M5 Pro 16-GPU/64GiB; MLX 0.32.4, macOS27.0.1; paired warm controls; timings not pooled across campaigns." +} diff --git a/reports/optimization-r3/artifact-manifest.json b/reports/optimization-r3/artifact-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..3e9c82230e061c37b38af54ec1b0d1ac047612af --- /dev/null +++ b/reports/optimization-r3/artifact-manifest.json @@ -0,0 +1,3217 @@ +{ + "schema_version": 1, + "generated_utc": "2026-11-12T09:59:27.031245+00:00", + "scope": "Runtime, reproducible experiments, raw outputs, comparison images, source snapshots, receipts and wheel; original model/27GiB existing packed cache excluded.", + "files": [ + { + "path": "README.md", + "bytes": 14092, + "sha256": "b0644ac96188a3efb428f7126a5a951c2959059f6766547a29226c647e52556c" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/details-grid.png", + "bytes": 443107, + "sha256": "beb5478c97ab61adeab28f0e1e1e14015066bcb685b9bedc5f9b6f4a03c70199" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/details.png", + "bytes": 841992, + "sha256": "fcd407711625fe4c809a9857937f5309887f10b33ca3e8417dcf6baeb1ff6ee7" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/difference-x8.png", + "bytes": 16816, + "sha256": "a22b6accff2239cb509c26df7f44a9b74369cd2fed713e2d5e86426fc6fe671c" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/grid.png", + "bytes": 530315, + "sha256": "52d3a40d35505c1c893c2e1917d7367b9aa3faf815b341f6740b5eccbea3280b" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/metrics.json", + "bytes": 2596, + "sha256": "253fd9509a972ae35045ff90357bf7ddcf3bea9f368617a0a51cc6ffc561d667" + }, + { + "path": "comparisons/optimization-r3/edit/qk-fc2/stack.png", + "bytes": 2143314, + "sha256": "35aced9715e695a6bec6241916e8b1df45ccb143250e247b614b09390e84f9a7" + }, + { + "path": "comparisons/optimization-r3/gallery.json", + "bytes": 4589, + "sha256": "233336ce104e4b811701e5f6d3dfca7bf9be0fe6001e4b89fd14022ba4a02778" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/details-grid.png", + "bytes": 648296, + "sha256": "b248e4ccf3f9ad218add7b217d01ce4fd72b9683cb084a43b0c13fb1d83ba20f" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/details.png", + "bytes": 1269864, + "sha256": "bafde86f577310514da9e7d9ada60ead84368f490407d4e24208972624b3796b" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/difference-x8.png", + "bytes": 16589, + "sha256": "cbd5ab17c95283e6307cf0d4aa1f927c46b27b1c275ac37850246eb2af71fde5" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/grid.png", + "bytes": 501044, + "sha256": "47bac50ff41f08d8ae4e45fd7e269340aadca8e7fdec4fb0c889ab6bd8db1e88" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json", + "bytes": 2628, + "sha256": "aa1b8960a5f5f9f0d519933afa52556953d00591ccd7566a56616ccdfffa965e" + }, + { + "path": "comparisons/optimization-r3/holdout-detail/qk-fc2/stack.png", + "bytes": 2048008, + "sha256": "d9744656aaefd4fa7783b777d147ea27523c39b38011b5780734c0820a79099d" + }, + { + "path": "comparisons/optimization-r3/index.html", + "bytes": 6601, + "sha256": "528fbbab3df727543e904316256de85ae57f8cb21681128e05ab74c87620086b" + }, + { + "path": "comparisons/optimization-r3/optimization-r3-compact-all-cases.png", + "bytes": 2122197, + "sha256": "f5643bec0fa74d6c493b22e39f380176c490ccc585f8901d597ee2e138fc3421" + }, + { + "path": "comparisons/optimization-r3/optimization-r3-deployment-all-cases.png", + "bytes": 2118809, + "sha256": "7b28f273f47a7e87d5adaa6f852e56502a532d91eb11242d7d79738849e46db4" + }, + { + "path": "comparisons/optimization-r3/optimization-r3-qk-all-cases.png", + "bytes": 2122197, + "sha256": "f5643bec0fa74d6c493b22e39f380176c490ccc585f8901d597ee2e138fc3421" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/details-grid.png", + "bytes": 499326, + "sha256": "07c947830f3458c05ec9881d9ba060a1b762146055d4abbf5c732dc507092c20" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/details.png", + "bytes": 961187, + "sha256": "6119b55b48ea95892dd297e3965bcc7fb632e344b074e85aa8bd459a88c3816a" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/difference-x8.png", + "bytes": 16594, + "sha256": "ff083ce0cf29838d121d8b877b6c59525327dfc5342daee61edfd44bf5f951e6" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/grid.png", + "bytes": 552107, + "sha256": "517416f9020f0be9692914e18ba0bd8c5e11df84bc4bf1e1afc732f06b2606a2" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/metrics.json", + "bytes": 2598, + "sha256": "cdcf6f2e79c3c17093f65c0d7f1b6f86d37a7d4ec4cbdd7ea8d115363e663df2" + }, + { + "path": "comparisons/optimization-r3/portrait/qk-fc2/stack.png", + "bytes": 2246185, + "sha256": "89f1375883e2de6c919c01e0a816a28aa3e9f9c5a311d3d0d4689964b742fd84" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/details-grid.png", + "bytes": 426880, + "sha256": "b2ae1d5184d081a0e68f90c195cf4d09488399a48284c56014b47de505ffce06" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/details.png", + "bytes": 809899, + "sha256": "cd14dc7867b35ca85bd623f9fc33589885a8686225fde455eee1ddbd6dd31acc" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/difference-x8.png", + "bytes": 16782, + "sha256": "d8ba4e54b03b35f23edabd5cb4f6d600dc07db5bfb8f06e8482324efb8dab71b" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/grid.png", + "bytes": 527779, + "sha256": "b7d9451370370d8428aad4847d86ac3982ceec1c5b4af0b90c5bb43d77e9a21f" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/metrics.json", + "bytes": 2588, + "sha256": "494b3d40d3aaf985209cf290087bc9b53e59feb33f488c633da1a19cbbd0644c" + }, + { + "path": "comparisons/optimization-r3/product/qk-fc2/stack.png", + "bytes": 2137591, + "sha256": "08695e86e647a7f744c0b2109367679cdc17f1cd83dfab4bd6bcbf8294605802" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/details-grid.png", + "bytes": 443931, + "sha256": "58db3e79e0a64a31e5991ebea4d19f1684a127730e637bf53014c431a7e10a33" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/details.png", + "bytes": 843646, + "sha256": "d0baa48ec80673c618b788e3599228d2928504862e158ecb40983d818fcd0718" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/difference-x8.png", + "bytes": 18465, + "sha256": "f661d4e7bbf41448178bbf4e30c1004f6bc8bfe835f8b220ea1b4f7eb9aa4fc4" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/grid.png", + "bytes": 531155, + "sha256": "5da61cb450c4b90fad6f42178b6a22367db5a54c02aaf7b47b215a8bd196047c" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json", + "bytes": 2640, + "sha256": "1b521c42efdca3075605036fc51bc86e27c3cd9fb8c3aded100085a30422c427" + }, + { + "path": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/stack.png", + "bytes": 2144920, + "sha256": "ef8c9d821376cef855848cd74bf18218f24afcffc30350b8c80de57712434c3f" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/details-grid.png", + "bytes": 649126, + "sha256": "6c4f588e1de296a24df611893ffb2b375a3459bc76ca7d711b513f34cbcc6c58" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/details.png", + "bytes": 1271314, + "sha256": "32fe50fe6793a6e5786e047515780ecbdeb1ab100162852a22e77cb479c7f54d" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/difference-x8.png", + "bytes": 18063, + "sha256": "d725b532816c8632dca02a16fa4cdb2f29c6f04bc4e1f72e81f9c49b3b943619" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/grid.png", + "bytes": 501914, + "sha256": "31f84926000a62f32f753bd338c9b36f17188cd35acd1a63cf3d70eaaf33f73d" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json", + "bytes": 2679, + "sha256": "575108c69e22d78093498f7db49bfd8cd96ef4886c1c0049852746c5de874d56" + }, + { + "path": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/stack.png", + "bytes": 2049429, + "sha256": "d43cb5fd1925da6271230150018e1d2dba2c097a04d20e82f8ec91a2776a5c22" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/details-grid.png", + "bytes": 500203, + "sha256": "2fd0770e9671e19efda6f566dd7fbdefdccc0cda0104a81a7a7c6a450e5823b2" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/details.png", + "bytes": 962948, + "sha256": "b06bd21d97de18db4e8f0989fab7aa909e02d3ce615c9ecc3392561ecf111d33" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/difference-x8.png", + "bytes": 18223, + "sha256": "00351e9cba0c6f0ee379b07e055b843c6679c99808a3d2226c95439c1b37e1df" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/grid.png", + "bytes": 552901, + "sha256": "700c4593945ef70374cf8ca8d78e516d2acc04b122906538b2976b0d659a59de" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json", + "bytes": 2648, + "sha256": "45f490f5a6ec12f32db054f4aedee0b7dbe302592018b24116be3e06702cadb4" + }, + { + "path": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/stack.png", + "bytes": 2247734, + "sha256": "b359475ac836ad007a99438cff7846ed7ecc9151b060f51be4bbb960b17deaf5" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/details-grid.png", + "bytes": 427777, + "sha256": "8e9eeecb4808ef2b6d0f45bd4e6ffff437d68c0495a3dd1d177c94ae24cdb86e" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/details.png", + "bytes": 811539, + "sha256": "b4fcb17b8c469c3078edbd1d89b4fa72b844accfb17d82b3cb9d0070fd1d1c8e" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/difference-x8.png", + "bytes": 18381, + "sha256": "94997637ff37df62e874f84b67196cc00a4d7567601b434e009aacae36a569e6" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/grid.png", + "bytes": 528619, + "sha256": "be898f85d2c0bcd0a90d9a4800cf80e7d3beae1c3df656280fb28b92cb015ac7" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json", + "bytes": 2643, + "sha256": "b463bc389757d18fb52f502a1e6f3a564c975f6beb13ca2321c39a57cf86e1b7" + }, + { + "path": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/stack.png", + "bytes": 2139168, + "sha256": "eda566e47344aca8db1ef66e64aabb9704e7544360f7bf55629e5eb5d3529aa2" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/details-grid.png", + "bytes": 443107, + "sha256": "beb5478c97ab61adeab28f0e1e1e14015066bcb685b9bedc5f9b6f4a03c70199" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/details.png", + "bytes": 842253, + "sha256": "78d92fc4d8787c19f88706217161c66ea4203011b315929f4ec7a376053e7043" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/difference-x8.png", + "bytes": 17084, + "sha256": "cda6d05238b8a670b29e4b755ffe76fac2307150c63c549520c685914e7806a2" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/grid.png", + "bytes": 530315, + "sha256": "52d3a40d35505c1c893c2e1917d7367b9aa3faf815b341f6740b5eccbea3280b" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json", + "bytes": 2629, + "sha256": "a9881cfa4f375b17fc9872cdd162bf864313b8c7b17bf5797a619f998f063f92" + }, + { + "path": "comparisons/optimization-r3-deployment/edit/qk-fc2/stack.png", + "bytes": 2143564, + "sha256": "2b8c8ad2231b6765d7e2387fb17b832bc98e366338ce9ae3163a0d2c9e65358b" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/details-grid.png", + "bytes": 648296, + "sha256": "b248e4ccf3f9ad218add7b217d01ce4fd72b9683cb084a43b0c13fb1d83ba20f" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/details.png", + "bytes": 1269464, + "sha256": "b93381064f3e2bf2ef692b81619c92e72f1e67cb21df2ba238097bb7e52671d2" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/difference-x8.png", + "bytes": 16190, + "sha256": "b53cf1b56ff55d28ea431fb1614a6a727c79742bf82db4e42b3ff7108ec55e31" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/grid.png", + "bytes": 501044, + "sha256": "47bac50ff41f08d8ae4e45fd7e269340aadca8e7fdec4fb0c889ab6bd8db1e88" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json", + "bytes": 2654, + "sha256": "7ff107dd7a594c524c3096601ce938c2485b97d2dce22a6250506d37ac86ea52" + }, + { + "path": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/stack.png", + "bytes": 2047562, + "sha256": "a426035804cc85948366afee579a4aa572c9afc860b57d1c55619588c78ceae1" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/details-grid.png", + "bytes": 499326, + "sha256": "07c947830f3458c05ec9881d9ba060a1b762146055d4abbf5c732dc507092c20" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/details.png", + "bytes": 960874, + "sha256": "4ff8ce346d765547676689556501ab0eb86d9940984f7715c29ed9325497729a" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/difference-x8.png", + "bytes": 16308, + "sha256": "915a351e32779651062d03f7409c666e1c44fa3ca3a28d83f3145be3874db607" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/grid.png", + "bytes": 552107, + "sha256": "517416f9020f0be9692914e18ba0bd8c5e11df84bc4bf1e1afc732f06b2606a2" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json", + "bytes": 2623, + "sha256": "859bd41ce5bd6c6611dfc3716cfdb4e698869477856c8c55e0cccc5314c8b4cd" + }, + { + "path": "comparisons/optimization-r3-deployment/portrait/qk-fc2/stack.png", + "bytes": 2245918, + "sha256": "ef5ea5cb3ae0badbaac1c575a7f2e585b7520480451c0399bd48f95a243018ef" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/details-grid.png", + "bytes": 426880, + "sha256": "b2ae1d5184d081a0e68f90c195cf4d09488399a48284c56014b47de505ffce06" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/details.png", + "bytes": 809806, + "sha256": "48be07bbc93d56dbd7fae849a05d797392d40e39c5e1354238f64cde596976e1" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/difference-x8.png", + "bytes": 16685, + "sha256": "a718a03eab7108f3969aab8d8f32a6a4cd8ff9ae64be2a665d5fc1660a6d74ef" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/grid.png", + "bytes": 527779, + "sha256": "b7d9451370370d8428aad4847d86ac3982ceec1c5b4af0b90c5bb43d77e9a21f" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json", + "bytes": 2623, + "sha256": "5a3bc54f6b0916d83a1bf70d7af55989a234011fdcd2409fc74955a289783b03" + }, + { + "path": "comparisons/optimization-r3-deployment/product/qk-fc2/stack.png", + "bytes": 2137515, + "sha256": "9d6ba90faa6ba4db4c91fe0a36c41013a4fc4bd225077cbdf8925bd4c320c58b" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/details-grid.png", + "bytes": 443931, + "sha256": "58db3e79e0a64a31e5991ebea4d19f1684a127730e637bf53014c431a7e10a33" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/details.png", + "bytes": 843225, + "sha256": "8a8b33fdef574bfd9d6981950c6547d7a6d4d68a4451b96ef56d30d4b38eac91" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/difference-x8.png", + "bytes": 18013, + "sha256": "134f1ae529d7ebc1b51fa8dc457a0574f75409b71925fad7d7afcead01672b5e" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/grid.png", + "bytes": 531155, + "sha256": "5da61cb450c4b90fad6f42178b6a22367db5a54c02aaf7b47b215a8bd196047c" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json", + "bytes": 2627, + "sha256": "d1969a84e778912065751bba2037db6c13a74aa32c0f442ecc61c5b82eee8da9" + }, + { + "path": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/stack.png", + "bytes": 2144478, + "sha256": "3e76ff3096236951e93d762d8e7f3332f13e77b6aec822b0bf3170bb61bcf80b" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/details-grid.png", + "bytes": 649126, + "sha256": "6c4f588e1de296a24df611893ffb2b375a3459bc76ca7d711b513f34cbcc6c58" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/details.png", + "bytes": 1271564, + "sha256": "48815de886312e8e43df095ededab4391874cd3e9321572ff7b69fe0d269a220" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/difference-x8.png", + "bytes": 18341, + "sha256": "6b2664f1c1c9794161d56774c76ce4ed741becc99f4ae539bb67d1c74541ef7f" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/grid.png", + "bytes": 501914, + "sha256": "31f84926000a62f32f753bd338c9b36f17188cd35acd1a63cf3d70eaaf33f73d" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/index.html", + "bytes": 1376, + "sha256": "e485e43790232f8f8ce65df3ed9f3b4e19c7d78e2c705d2b24335858e8093a94" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json", + "bytes": 2660, + "sha256": "4775d06f38348f216efb8b5ba42ada72077ef087d65b83f8e3accdfa1af87df9" + }, + { + "path": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/stack.png", + "bytes": 2049683, + "sha256": "62627ff012724baae9bc692db95ec83d1da577a5e23c63551109d31ad81b5378" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/details-grid.png", + "bytes": 500203, + "sha256": "2fd0770e9671e19efda6f566dd7fbdefdccc0cda0104a81a7a7c6a450e5823b2" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/details.png", + "bytes": 962877, + "sha256": "cd2ed42e483f01ccd22e60f86191f87fda2e5a0fe5d97a842ec964444704eac0" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/difference-x8.png", + "bytes": 18180, + "sha256": "96da49488bc6226add4dec751840d2e77d8d93fd36c861888ceb729354128f04" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/grid.png", + "bytes": 552901, + "sha256": "700c4593945ef70374cf8ca8d78e516d2acc04b122906538b2976b0d659a59de" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json", + "bytes": 2623, + "sha256": "9ea037662ba4f0e1edf08d83c6fab2e9929626831cc32a4a61ed540e531e8807" + }, + { + "path": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/stack.png", + "bytes": 2247678, + "sha256": "76cf2108c39d856f0f8c4498620cf480a0291893366a1d2288e3209605a9a56f" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/details-grid.png", + "bytes": 427777, + "sha256": "8e9eeecb4808ef2b6d0f45bd4e6ffff437d68c0495a3dd1d177c94ae24cdb86e" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/details.png", + "bytes": 811492, + "sha256": "5b8501eb384c16aa1dc990dd341747272cfeb5afe74e26c6d971e8ebdbb3622a" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/difference-x8.png", + "bytes": 18343, + "sha256": "7ed5a2c08fe164ff71faba3c92e0c7bc55837b32d11c1e89b0882988bd00b713" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/grid.png", + "bytes": 528619, + "sha256": "be898f85d2c0bcd0a90d9a4800cf80e7d3beae1c3df656280fb28b92cb015ac7" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/index.html", + "bytes": 1366, + "sha256": "a33fa970a245ac2cb81a7af4aefb8ea4a7c06ccfd671721573c50ace76f1ea67" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json", + "bytes": 2625, + "sha256": "49cb9beabd26f0fd062720ff5778e706fe60e06d31cfb88e3d2ece05c502f893" + }, + { + "path": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/stack.png", + "bytes": 2139137, + "sha256": "fcea034ae3163b2b631f4dcb9574e1dcd7c113659ecbd26bc07256ab0ae49b10" + }, + { + "path": "dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl", + "bytes": 55953, + "sha256": "80ea81fb0cc8efd598ca20d1fa1a1133c037d5495464800a980dd9c94ac566b2" + }, + { + "path": "experiments/gallery_r3.py", + "bytes": 5068, + "sha256": "1bc5e6262d573dc28fe40a950dd02b6844ab24c48d2f73a035575428870affc4" + }, + { + "path": "experiments/plot_r3.py", + "bytes": 2763, + "sha256": "210730ddbb172ff7349b24e3273ed4fdd6acbe7363ee2f73cebce8531286e5ea" + }, + { + "path": "experiments/r3/blocks.py", + "bytes": 5862, + "sha256": "a67e338a98fe394d6ccace5cb0b76919f7c041b5eb35b07f4031c186eb1f5789" + }, + { + "path": "experiments/r3/common.py", + "bytes": 1258, + "sha256": "d2ddb5e7559218ae18b4b7601ed922765828388d6ff5719827370c5ec23c426b" + }, + { + "path": "experiments/r3/embedding.py", + "bytes": 2051, + "sha256": "c103a8e6c8af77ba37a01fb4cabc1d9a14f4fd8b141832ef010a7ed0f19b6790" + }, + { + "path": "experiments/r3/embedding_campaign.py", + "bytes": 2466, + "sha256": "37793240392d7dc940ede59f793cb6a854df7af51cc496ee7efd63aaca644108" + }, + { + "path": "experiments/r3/fc1.py", + "bytes": 5460, + "sha256": "f1ca0611c4a4227093354b573ce701bf137f17e28bfa3c2f4fe195e04967520b" + }, + { + "path": "experiments/r3/fusions.py", + "bytes": 5696, + "sha256": "07417745aa39ce9cc3d07939a861b67078b312f194e399221b060ab035d90b3d" + }, + { + "path": "experiments/r3/images.py", + "bytes": 9774, + "sha256": "a34444ddb0324221ee2406561047167259ecd738d9262e689088867d5ed1c223" + }, + { + "path": "experiments/r3/norm.py", + "bytes": 3934, + "sha256": "1d136df218ae37719fd48c9b249128708382c7fcdc1d71806aeec60452470469" + }, + { + "path": "experiments/r3/panel.py", + "bytes": 2665, + "sha256": "2fb4ea4b2a86409d1753d065a1e5a45f327339a1747bbe68a6c2349d93868adc" + }, + { + "path": "experiments/r3/report.py", + "bytes": 9989, + "sha256": "736114149c7934900966aaa7c14f29ef0850dd545c699bb6238c4f39b01a9500" + }, + { + "path": "experiments/r3/screen.py", + "bytes": 9786, + "sha256": "bd8c048619a43d88090465c45e28943d1c89d08edc3fbb5b2074bb5e59634aaa" + }, + { + "path": "experiments/r3/shapes.py", + "bytes": 4799, + "sha256": "c377864f32dc40265f25353c29be1b271a337509a0b22c5ca993a3500e1094b6" + }, + { + "path": "experiments/r3/trace_audit.py", + "bytes": 2387, + "sha256": "59ff5c79452d047d187d1f6fc0fe97035475fa7e1e447267729701f1ab7c441f" + }, + { + "path": "experiments/r3_cache_screen.py", + "bytes": 3350, + "sha256": "d392bfabbb7991dd0017d230663797c572208e252126dd35b5ce5148be95039a" + }, + { + "path": "experiments/v2_mpp.py", + "bytes": 6681, + "sha256": "880761884b6391c04878af8b0aba8fcc185090c092072db5fd271d7e40c721f9" + }, + { + "path": "experiments/wheel_verify_r3.py", + "bytes": 3711, + "sha256": "5aeddd57aff2a969aa384f8812d191c581c0190dfd26b1415755e3c02f9ac97e" + }, + { + "path": "h3_mlx/__init__.py", + "bytes": 425, + "sha256": "aed249298f9d0dc0df85ea4ac6904302c725b3432e389c01078908bbfae554f2" + }, + { + "path": "h3_mlx/__main__.py", + "bytes": 30, + "sha256": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279" + }, + { + "path": "h3_mlx/benchmark.py", + "bytes": 6850, + "sha256": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6" + }, + { + "path": "h3_mlx/cli.py", + "bytes": 8504, + "sha256": "087168864ff0df22dc83536650483fc8c09a6ef526a77e2adc61dae86cf9441d" + }, + { + "path": "h3_mlx/compare.py", + "bytes": 11888, + "sha256": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095" + }, + { + "path": "h3_mlx/config.py", + "bytes": 2084, + "sha256": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168" + }, + { + "path": "h3_mlx/convert.py", + "bytes": 3919, + "sha256": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0" + }, + { + "path": "h3_mlx/coreml_vae.py", + "bytes": 3376, + "sha256": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2" + }, + { + "path": "h3_mlx/dit.py", + "bytes": 23026, + "sha256": "6a2d3318f813ef88e366845fb38f86971e6cacfd414a5340f68a5bb20beb9a10" + }, + { + "path": "h3_mlx/encoder.py", + "bytes": 7250, + "sha256": "24d68a2e00e334c10b6d7b1ea9dde50074edecbb30236a2c238c14ffb80e64c2" + }, + { + "path": "h3_mlx/kernels.py", + "bytes": 4919, + "sha256": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d" + }, + { + "path": "h3_mlx/layout.py", + "bytes": 1856, + "sha256": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1" + }, + { + "path": "h3_mlx/memory.py", + "bytes": 3482, + "sha256": "53dc36a7e08391523f9f19f0c27e2059bdc87219282a9bb7f23f92d92cb0049d" + }, + { + "path": "h3_mlx/ops.py", + "bytes": 3228, + "sha256": "111b3ee956ee4090f356d68644edc936ad2fe4bde394a699830fd0e8ae8ba273" + }, + { + "path": "h3_mlx/packed.py", + "bytes": 5390, + "sha256": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde" + }, + { + "path": "h3_mlx/reference.py", + "bytes": 6351, + "sha256": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e" + }, + { + "path": "h3_mlx/runtime.py", + "bytes": 14732, + "sha256": "654a4d07b79e48d015c7f1bcf3084c8b92c875b2f957b5afb81a8900a9162a0d" + }, + { + "path": "h3_mlx/tuning.py", + "bytes": 10546, + "sha256": "d26a892d8b45b0a688eeb85274b6a7706e4ace97baaaab885e978a785b9cf71e" + }, + { + "path": "h3_mlx/vae.py", + "bytes": 8916, + "sha256": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0" + }, + { + "path": "h3_mlx/vision.py", + "bytes": 7757, + "sha256": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea" + }, + { + "path": "h3_mlx/weights.py", + "bytes": 7718, + "sha256": "8f81139011d1a813e6245d3a97681aa17285ace90fe32f5831e327e5781fcdd1" + }, + { + "path": "optimization/lessons/minimax-h3-r3-exact-qk-fc2.json", + "bytes": 3443, + "sha256": "35fd8a37e268d11f89c8acff6e08563ddf54fe381be768f37403e0a3f6106597" + }, + { + "path": "optimization/lessons/minimax-h3-r3-packed-exact-tuning.json", + "bytes": 2677, + "sha256": "9a3f5efddd63553b48b531bcc58bad5e9cc80155910c3c43c7ef26b380e321f0" + }, + { + "path": "optimization/round-03/abi-check.json", + "bytes": 492, + "sha256": "5b976c6876419217793b9a9cb304f951b710b3595cb6600d3925fc2131fc1d1f" + }, + { + "path": "optimization/round-03/baseline-code.json", + "bytes": 1721, + "sha256": "5aad5998892be151cff0023ab0f56a905e9e944b4378316455eb8bab5147f106" + }, + { + "path": "optimization/round-03/cache-candidate.json", + "bytes": 1207, + "sha256": "eb93287421c978fd887f5e6332b918cf14785d238550cf4011b1ba4dbc7e2730" + }, + { + "path": "optimization/round-03/contract.json", + "bytes": 1333, + "sha256": "b6c501a1cea4d37c3cd96fb73a2f339491cac58aae41adeeb63f60e82e579ab0" + }, + { + "path": "optimization/round-03/evaluator.json", + "bytes": 604, + "sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee" + }, + { + "path": "optimization/round-03/hypotheses.json", + "bytes": 1786, + "sha256": "2148abbabc6bccf7b242ab1a004f9505281c8ef99b518b73ac25890cbe9a0853" + }, + { + "path": "optimization/round-03/lesson.json", + "bytes": 3443, + "sha256": "35fd8a37e268d11f89c8acff6e08563ddf54fe381be768f37403e0a3f6106597" + }, + { + "path": "optimization/round-03/receipt.json", + "bytes": 5444, + "sha256": "04c51179eb31f73187d9bbe4c66e23c58b4a04428c33fd21d45d9e001eb00f76" + }, + { + "path": "optimization/round-03/reference.json", + "bytes": 893, + "sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065" + }, + { + "path": "optimization/round-03/workload.json", + "bytes": 2742, + "sha256": "5dfe34824190abd241185fd37214e3de5be425d82f0a6f556d0d23f0dec68042" + }, + { + "path": "optimization/round-03-compact/contract.json", + "bytes": 1256, + "sha256": "94e41570449a1cdef888fc2baac8a59932091f2425645a44f95e7fbd2543847a" + }, + { + "path": "optimization/round-03-compact/evaluator.json", + "bytes": 604, + "sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee" + }, + { + "path": "optimization/round-03-compact/lesson.json", + "bytes": 2677, + "sha256": "9a3f5efddd63553b48b531bcc58bad5e9cc80155910c3c43c7ef26b380e321f0" + }, + { + "path": "optimization/round-03-compact/reference.json", + "bytes": 1349, + "sha256": "5fccbc8664a6efb3f9ff7e14b764c1aae876785fc28fd492dbb6c24b1b773a8b" + }, + { + "path": "optimization/round-03-compact/workload.json", + "bytes": 2770, + "sha256": "8d14bb9873982547f69bbbd13e2a1e645f97454f14428220aa78001d4f843b13" + }, + { + "path": "outputs/optimization-r3/edit/control-validation-0.json", + "bytes": 4236, + "sha256": "0430014238b2a7238caa813ab648aad888fc530c6cd1597aefde31bded77566b" + }, + { + "path": "outputs/optimization-r3/edit/control-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3/edit/control-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3/edit/control-warmup--1.json", + "bytes": 4247, + "sha256": "e708ae3c6aeb75d21332347d40c13ba03ab4c26bd32b65c8daa15e5d6b367f6b" + }, + { + "path": "outputs/optimization-r3/edit/control-warmup--1.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3/edit/control-warmup--1.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3/edit/qk-fc2-validation-0.json", + "bytes": 4235, + "sha256": "375e5b36d468c0260031741bde2862334e0e1fdd5823b459ea4dc751143958b9" + }, + { + "path": "outputs/optimization-r3/edit/qk-fc2-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3/edit/qk-fc2-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3/edit/qk-fc2-warmup--1.json", + "bytes": 4227, + "sha256": "09c96c96a5a4ab764b7cf3234a99d2e70a28dfd08cdbd246835e4fda548a1c37" + }, + { + "path": "outputs/optimization-r3/edit/qk-fc2-warmup--1.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3/edit/qk-fc2-warmup--1.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3/holdout-detail/control-validation-0.json", + "bytes": 4336, + "sha256": "61e5ee03628e3b7f6dc9f906cdf1ea2e7ee8ceea0da4bded77c2ded5d618b260" + }, + { + "path": "outputs/optimization-r3/holdout-detail/control-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3/holdout-detail/control-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3/holdout-detail/control-warmup--1.json", + "bytes": 4341, + "sha256": "97962a0ef2560aceed0601826cb22d3d9da79d754a89607ac4973c1da6b83d2c" + }, + { + "path": "outputs/optimization-r3/holdout-detail/control-warmup--1.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3/holdout-detail/control-warmup--1.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.json", + "bytes": 4332, + "sha256": "a0405accd01c99954c02821ed59072349494cb8714ff738df512039fc8d7b9b4" + }, + { + "path": "outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.json", + "bytes": 4331, + "sha256": "c7d416621098afd6b979f1874fd8144b369ca9d4fb43a5f437a1611cf1077e3b" + }, + { + "path": "outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-0.json", + "bytes": 4217, + "sha256": "7e856f55363d5290b6e0ee8b1a3f9b739b259334b6acbd9b968bbe690b58f801" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-1.json", + "bytes": 4211, + "sha256": "b7c580f43c61b8efda61fd6ba6f223511f1f2906e943f790dd1534354f424284" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-2.json", + "bytes": 4216, + "sha256": "5dea1f862848a7db8b8b9997c212ca63a8f25c9688bcc443085a86efbd02814a" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/control-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/control-warmup--1.json", + "bytes": 4218, + "sha256": "f590cec1f8e776daa8c726939a32db9704fdc319c44601924da7a4171736d678" + }, + { + "path": "outputs/optimization-r3/portrait/control-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/control-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-0.json", + "bytes": 4215, + "sha256": "02170eceda514fd29b7420a14e0802fa4f1b7fc3ddcfd339fee5f777c3722d5e" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-1.json", + "bytes": 4213, + "sha256": "0a2bff560b4fea79bf75d5b49879fb0a3f37f6ae3c4ca4d2d9842794e73919a4" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-2.json", + "bytes": 4212, + "sha256": "8d1449f1425c760b6c115a47e16d7d5abc280a2244c45e62116d665e2b35ab28" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-warmup--1.json", + "bytes": 4217, + "sha256": "a5bc4302523f50cdc3b96e51aa9c5335d5cb244b6e089b81f117b078e0392aa8" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3/portrait/qk-fc2-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3/product/control-cold--1.json", + "bytes": 4228, + "sha256": "3059603a9acda75b4bd4d6625c226c0794f914f9f17c6c28528acc2cef2bc317" + }, + { + "path": "outputs/optimization-r3/product/control-cold--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/control-cold--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/control-timed-0.json", + "bytes": 4214, + "sha256": "6db3e2ded8c49f33055d822ed363456d1fa07f689e91f0d9b0911148bb33501d" + }, + { + "path": "outputs/optimization-r3/product/control-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/control-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/control-timed-1.json", + "bytes": 4211, + "sha256": "8d4a6dc8abe6c4c3ccd196b94b5d285ccff6c1c8370fa03b34f0a0938c0ff116" + }, + { + "path": "outputs/optimization-r3/product/control-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/control-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/control-timed-2.json", + "bytes": 4214, + "sha256": "4e25e4b36e349f16c8a0c21d9c820509dcefcce7f2fbb6319368e62817848cbc" + }, + { + "path": "outputs/optimization-r3/product/control-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/control-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-0.json", + "bytes": 4209, + "sha256": "22ca28c4bf50273d0434c984987b4cdd763206f60d0f7280a309c755ca1f7ce7" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-1.json", + "bytes": 4210, + "sha256": "96e27a06b592b897e26305301ce36d16b8d649a1bd5fdba298d4ddcc0a54dd45" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-2.json", + "bytes": 4214, + "sha256": "373a2321d06cb87557aeaef3dd036b2bdc11f99542af73fc026647022773cbbb" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-warmup--1.json", + "bytes": 4214, + "sha256": "2bbc19041dfa0852275b99923f13b3c4159dff7c2a8b2048c0dc4d5513c76a03" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-warmup--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3/product/qk-fc2-warmup--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3/quality.json", + "bytes": 1313, + "sha256": "f8bf55f6dfef54e990582fc201080ef29258c6a7a167d6e9cae7fef4f37447b2" + }, + { + "path": "outputs/optimization-r3/runs.jsonl", + "bytes": 11550, + "sha256": "42d92b98ec20dae04992bae6913f740c17111a5beee3111ed5a6c41ea87434cb" + }, + { + "path": "outputs/optimization-r3-compact/edit/control-validation-0.json", + "bytes": 4629, + "sha256": "9e7197c458db5dda6e0eb7796b1ea7d2e343d1594e05c0e7d8a60562fc7c35a7" + }, + { + "path": "outputs/optimization-r3-compact/edit/control-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3-compact/edit/control-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.json", + "bytes": 4659, + "sha256": "6611077d9532a46c8db35bd92610898a3128be24f0a859fc50dd96556994d88f" + }, + { + "path": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3-compact/holdout-detail/control-validation-0.json", + "bytes": 4735, + "sha256": "fd54110284e2d31e615b905c358dcd19dbfe41ddfe0de560ed295c0db67c6c95" + }, + { + "path": "outputs/optimization-r3-compact/holdout-detail/control-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3-compact/holdout-detail/control-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.json", + "bytes": 4764, + "sha256": "acd7b37282f98dc29c332c58ea4d41b8004fc7dd3cbc1ed13012ad3618d48ccd" + }, + { + "path": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-0.json", + "bytes": 4612, + "sha256": "822abca39d22b2c8ec06bb7ae871b1aad34bc23e9fb4c32c2c4aa154e322f964" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-1.json", + "bytes": 4610, + "sha256": "b38d3461bfdff2cb959e65f7cf503896fa38e9665b2f67017811ff22660c7fed" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-2.json", + "bytes": 4608, + "sha256": "9f3079248e8790645cddf51468690dfec65d4895a75fb06f34b9d01e45291839" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-warmup--1.json", + "bytes": 4619, + "sha256": "ca83202ac6801e0e92f6e23c03fe475edabd27e9962776af050285d4fb4a91f7" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/control-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.json", + "bytes": 4640, + "sha256": "7710a1dda8e9e91005bb739418751e3e7bc696f3d77cf5cf6065675a6aae9f03" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.json", + "bytes": 4637, + "sha256": "0168927223350be2c9517db3ccec19795b40b9065e8b486c1b5323b40b073289" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-2.json", + "bytes": 4635, + "sha256": "d1325a71826551955cefad1338186d9b315a851433327f805466165c2c7fdfd5" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.json", + "bytes": 4645, + "sha256": "4712274d9e79b9d8ee2297b3ea61e3654519a19a3289b8d9d77f080d19f98450" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-compact/product/control-cold--1.json", + "bytes": 4626, + "sha256": "5a168b36a8cf8de6f9be9303ada9b1540b486809e307a1f324dc83ac45a8bf18" + }, + { + "path": "outputs/optimization-r3-compact/product/control-cold--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/control-cold--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-0.json", + "bytes": 4611, + "sha256": "d2b799eb4f39129cfc1d43ee56a5be452f72f9345b199e06f94cb665009a6c6b" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-1.json", + "bytes": 4611, + "sha256": "b3ddcab452568529a315accab240cb770ce8e2892f0695b9b3faf7319a1ac1b3" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-2.json", + "bytes": 4613, + "sha256": "155376a67a203cd85a394b3b058f930ba3c81de4c01e6b5f69e7a317ac244704" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/control-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.json", + "bytes": 4640, + "sha256": "260fe5bf28320ec369837e635906a20287f8539395be66dda9f993ae20f3c620" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.json", + "bytes": 4635, + "sha256": "5671caf41845b789547ab9af7e2ad247d22e92a3774813f86c02cd8ca83bc47b" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.json", + "bytes": 4642, + "sha256": "55a6bef3898276cb80bf39693a7d9f389df1ea6af1cbda15905b4a4f4118b7a1" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.json", + "bytes": 4645, + "sha256": "a8ccbb6fb759969ede9deacbeadc33a653112780828513e0bd56a42852992dc6" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-compact/quality.json", + "bytes": 1421, + "sha256": "ba78d7db28b89981956181e82575f63fa411845ca964ee2944d99bd1128f43c3" + }, + { + "path": "outputs/optimization-r3-compact/runs.jsonl", + "bytes": 10014, + "sha256": "fdd30c091a2f2eaf01e5b2facc32d146796152d560701c472b37c9b226dfe7e3" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/blocks.py", + "bytes": 5862, + "sha256": "a67e338a98fe394d6ccace5cb0b76919f7c041b5eb35b07f4031c186eb1f5789" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/common.py", + "bytes": 1258, + "sha256": "d2ddb5e7559218ae18b4b7601ed922765828388d6ff5719827370c5ec23c426b" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/embedding.py", + "bytes": 2051, + "sha256": "c103a8e6c8af77ba37a01fb4cabc1d9a14f4fd8b141832ef010a7ed0f19b6790" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/embedding_campaign.py", + "bytes": 2466, + "sha256": "37793240392d7dc940ede59f793cb6a854df7af51cc496ee7efd63aaca644108" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/fc1.py", + "bytes": 5460, + "sha256": "f1ca0611c4a4227093354b573ce701bf137f17e28bfa3c2f4fe195e04967520b" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/fusions.py", + "bytes": 5696, + "sha256": "07417745aa39ce9cc3d07939a861b67078b312f194e399221b060ab035d90b3d" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/images.py", + "bytes": 9774, + "sha256": "a34444ddb0324221ee2406561047167259ecd738d9262e689088867d5ed1c223" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/norm.py", + "bytes": 3934, + "sha256": "1d136df218ae37719fd48c9b249128708382c7fcdc1d71806aeec60452470469" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/panel.py", + "bytes": 2665, + "sha256": "2fb4ea4b2a86409d1753d065a1e5a45f327339a1747bbe68a6c2349d93868adc" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/report.py", + "bytes": 9989, + "sha256": "736114149c7934900966aaa7c14f29ef0850dd545c699bb6238c4f39b01a9500" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/screen.py", + "bytes": 9786, + "sha256": "bd8c048619a43d88090465c45e28943d1c89d08edc3fbb5b2074bb5e59634aaa" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/shapes.py", + "bytes": 4799, + "sha256": "c377864f32dc40265f25353c29be1b271a337509a0b22c5ca993a3500e1094b6" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/r3/trace_audit.py", + "bytes": 2387, + "sha256": "59ff5c79452d047d187d1f6fc0fe97035475fa7e1e447267729701f1ab7c441f" + }, + { + "path": "outputs/optimization-r3-compact/source/experiments/v2_mpp.py", + "bytes": 6681, + "sha256": "880761884b6391c04878af8b0aba8fcc185090c092072db5fd271d7e40c721f9" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/__init__.py", + "bytes": 425, + "sha256": "aed249298f9d0dc0df85ea4ac6904302c725b3432e389c01078908bbfae554f2" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/__main__.py", + "bytes": 30, + "sha256": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/benchmark.py", + "bytes": 6850, + "sha256": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/cli.py", + "bytes": 8504, + "sha256": "087168864ff0df22dc83536650483fc8c09a6ef526a77e2adc61dae86cf9441d" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/compare.py", + "bytes": 11888, + "sha256": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/config.py", + "bytes": 2084, + "sha256": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/convert.py", + "bytes": 3919, + "sha256": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/coreml_vae.py", + "bytes": 3376, + "sha256": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/dit.py", + "bytes": 23026, + "sha256": "6a2d3318f813ef88e366845fb38f86971e6cacfd414a5340f68a5bb20beb9a10" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/encoder.py", + "bytes": 7250, + "sha256": "24d68a2e00e334c10b6d7b1ea9dde50074edecbb30236a2c238c14ffb80e64c2" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/kernels.py", + "bytes": 4919, + "sha256": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/layout.py", + "bytes": 1856, + "sha256": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/memory.py", + "bytes": 3482, + "sha256": "53dc36a7e08391523f9f19f0c27e2059bdc87219282a9bb7f23f92d92cb0049d" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/ops.py", + "bytes": 3228, + "sha256": "111b3ee956ee4090f356d68644edc936ad2fe4bde394a699830fd0e8ae8ba273" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/packed.py", + "bytes": 5390, + "sha256": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/reference.py", + "bytes": 6351, + "sha256": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/runtime.py", + "bytes": 14732, + "sha256": "654a4d07b79e48d015c7f1bcf3084c8b92c875b2f957b5afb81a8900a9162a0d" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/tuning.py", + "bytes": 10546, + "sha256": "d26a892d8b45b0a688eeb85274b6a7706e4ace97baaaab885e978a785b9cf71e" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/vae.py", + "bytes": 8916, + "sha256": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/vision.py", + "bytes": 7757, + "sha256": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea" + }, + { + "path": "outputs/optimization-r3-compact/source/h3_mlx/weights.py", + "bytes": 7718, + "sha256": "8f81139011d1a813e6245d3a97681aa17285ace90fe32f5831e327e5781fcdd1" + }, + { + "path": "outputs/optimization-r3-compact/source-manifest.json", + "bytes": 3285, + "sha256": "5be81c114b17d671881c9d0323d8c305e10fa450ad228a36efd4a264892e6d3d" + }, + { + "path": "outputs/optimization-r3-compact/workload.json", + "bytes": 2770, + "sha256": "8d14bb9873982547f69bbbd13e2a1e645f97454f14428220aa78001d4f843b13" + }, + { + "path": "outputs/optimization-r3-deployment/edit/control-validation-0.json", + "bytes": 4632, + "sha256": "15e4846c561a0ba3ffceaf295a05c48464d7776cadf85b841f453074366bd663" + }, + { + "path": "outputs/optimization-r3-deployment/edit/control-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3-deployment/edit/control-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.json", + "bytes": 4630, + "sha256": "71cfcd7d148afc759e5fe55e93cde56f184bc51c29c32a6f503412c1cd710e50" + }, + { + "path": "outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3-deployment/holdout-detail/control-validation-0.json", + "bytes": 4727, + "sha256": "b67b9afe3b61721569925980068abe38a19262d4f874347001fb185cdd7b3709" + }, + { + "path": "outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3-deployment/holdout-detail/control-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.json", + "bytes": 4722, + "sha256": "ffed7dba918afdd93ac36832ec95f795e1c52132af4b58cf01a5feb4690da0ac" + }, + { + "path": "outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-0.json", + "bytes": 4604, + "sha256": "433858ec7de04e56e63ec1510be6748c40248a385b659c5997f519f2a727309a" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-1.json", + "bytes": 4607, + "sha256": "5e6ea321fa02744b83535fc4daf164a01c74378d9b51b22ff6c59eb0f04d93fa" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-2.json", + "bytes": 4608, + "sha256": "4e7c0204125edfb44a760780c61b67491e7110356cd6251f875140baef644b3e" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-warmup--1.json", + "bytes": 4612, + "sha256": "f2153a8a700ea6b0a723d23e871e89ff2e8faaa5fa39b6390538c5ac92afbeca" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/control-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.json", + "bytes": 4602, + "sha256": "2d5bfd1357dc023a84ddcb31885040f5dea40f44077b1b9afe6b9175602ef74b" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.json", + "bytes": 4599, + "sha256": "4719b13815e55795437f0ad04e1b79e007c275965c389e68493ea91557ec2ee9" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.json", + "bytes": 4604, + "sha256": "e2e24224239275f8e4dfe0797f108c93335013f58501ad443a7f12881ff68f4e" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.json", + "bytes": 4603, + "sha256": "9730469f9186aba96adaef2c8c69bd0ff77bd862b70c14b1df4898604286ab29" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-cold--1.json", + "bytes": 4620, + "sha256": "3fde1c924819871806335f7c6156a94c4943982c189dbe374e5d7f78fb96ffc3" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-cold--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-cold--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-0.json", + "bytes": 4606, + "sha256": "e3d04ad1f5757f87021dd8731c6f386f131ac059785ce14312290e71f6de6f2a" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-1.json", + "bytes": 4600, + "sha256": "20d5aa21eb20085e03442e5f523f709a9177f0232157adacafd2629b67a075d9" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-2.json", + "bytes": 4607, + "sha256": "1a9d519be3f8e12086418831f1ba3fbdab4c17a733e3621e972d9059b1634528" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/control-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-0.json", + "bytes": 4609, + "sha256": "1e96df16f4a63f96fa196a1ae44e6844a09224a6d508fa56ed16ac5b538fcf43" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-1.json", + "bytes": 4610, + "sha256": "fb3bc241a2639b610e902ef5f667e89f8baa9148bc4cf4dc505cf8a3e06f24f5" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-2.json", + "bytes": 4608, + "sha256": "b9cbbb606f7d0fa4143d364ecb32d183e5faf3bee21c8748ee2fe8ffccc500b8" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.json", + "bytes": 4616, + "sha256": "f774a20135d610a56edc0c77d834d290de34f902f56425e3ac869dd00e708c3a" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-deployment/quality.json", + "bytes": 1313, + "sha256": "f8bf55f6dfef54e990582fc201080ef29258c6a7a167d6e9cae7fef4f37447b2" + }, + { + "path": "outputs/optimization-r3-deployment/runs.jsonl", + "bytes": 9793, + "sha256": "2e292337bf063e1a3401e06ed913059c00ab55e725370d0cebace78616ec93c7" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/blocks.py", + "bytes": 5862, + "sha256": "a67e338a98fe394d6ccace5cb0b76919f7c041b5eb35b07f4031c186eb1f5789" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/common.py", + "bytes": 1258, + "sha256": "d2ddb5e7559218ae18b4b7601ed922765828388d6ff5719827370c5ec23c426b" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/embedding.py", + "bytes": 2051, + "sha256": "c103a8e6c8af77ba37a01fb4cabc1d9a14f4fd8b141832ef010a7ed0f19b6790" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/embedding_campaign.py", + "bytes": 2466, + "sha256": "37793240392d7dc940ede59f793cb6a854df7af51cc496ee7efd63aaca644108" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/fc1.py", + "bytes": 5460, + "sha256": "f1ca0611c4a4227093354b573ce701bf137f17e28bfa3c2f4fe195e04967520b" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/fusions.py", + "bytes": 5696, + "sha256": "07417745aa39ce9cc3d07939a861b67078b312f194e399221b060ab035d90b3d" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/images.py", + "bytes": 9313, + "sha256": "7e25c614cfc79d83543b83c03fd69516a4cb831be880048d9f42e9fea64eee0d" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/norm.py", + "bytes": 3934, + "sha256": "1d136df218ae37719fd48c9b249128708382c7fcdc1d71806aeec60452470469" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/panel.py", + "bytes": 2665, + "sha256": "2fb4ea4b2a86409d1753d065a1e5a45f327339a1747bbe68a6c2349d93868adc" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/report.py", + "bytes": 9728, + "sha256": "e3ad902b237364926c0a50a661116f5014ba39ec863a4b4d113d0facd92aa0d1" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/screen.py", + "bytes": 9786, + "sha256": "bd8c048619a43d88090465c45e28943d1c89d08edc3fbb5b2074bb5e59634aaa" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/shapes.py", + "bytes": 4799, + "sha256": "c377864f32dc40265f25353c29be1b271a337509a0b22c5ca993a3500e1094b6" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/r3/trace_audit.py", + "bytes": 2387, + "sha256": "59ff5c79452d047d187d1f6fc0fe97035475fa7e1e447267729701f1ab7c441f" + }, + { + "path": "outputs/optimization-r3-deployment/source/experiments/v2_mpp.py", + "bytes": 6681, + "sha256": "880761884b6391c04878af8b0aba8fcc185090c092072db5fd271d7e40c721f9" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/__init__.py", + "bytes": 425, + "sha256": "aed249298f9d0dc0df85ea4ac6904302c725b3432e389c01078908bbfae554f2" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/__main__.py", + "bytes": 30, + "sha256": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/benchmark.py", + "bytes": 6850, + "sha256": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/cli.py", + "bytes": 8448, + "sha256": "ec8363847cf563cc437094f4fd83e28c052cf03bcaf6415404c27a787cba54bd" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/compare.py", + "bytes": 11888, + "sha256": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/config.py", + "bytes": 2084, + "sha256": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/convert.py", + "bytes": 3919, + "sha256": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/coreml_vae.py", + "bytes": 3376, + "sha256": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/dit.py", + "bytes": 23006, + "sha256": "4e1b0f4c45bbdd17cc81745a06a362f63c83f2f4b93173aa232ec8b2ecd164ac" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/encoder.py", + "bytes": 7250, + "sha256": "24d68a2e00e334c10b6d7b1ea9dde50074edecbb30236a2c238c14ffb80e64c2" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/kernels.py", + "bytes": 4919, + "sha256": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/layout.py", + "bytes": 1856, + "sha256": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/memory.py", + "bytes": 3482, + "sha256": "53dc36a7e08391523f9f19f0c27e2059bdc87219282a9bb7f23f92d92cb0049d" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/ops.py", + "bytes": 3228, + "sha256": "111b3ee956ee4090f356d68644edc936ad2fe4bde394a699830fd0e8ae8ba273" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/packed.py", + "bytes": 5390, + "sha256": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/reference.py", + "bytes": 6351, + "sha256": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/runtime.py", + "bytes": 14732, + "sha256": "654a4d07b79e48d015c7f1bcf3084c8b92c875b2f957b5afb81a8900a9162a0d" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/tuning.py", + "bytes": 10546, + "sha256": "d26a892d8b45b0a688eeb85274b6a7706e4ace97baaaab885e978a785b9cf71e" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/vae.py", + "bytes": 8916, + "sha256": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/vision.py", + "bytes": 7757, + "sha256": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea" + }, + { + "path": "outputs/optimization-r3-deployment/source/h3_mlx/weights.py", + "bytes": 7718, + "sha256": "8f81139011d1a813e6245d3a97681aa17285ace90fe32f5831e327e5781fcdd1" + }, + { + "path": "outputs/optimization-r3-deployment/source-manifest.json", + "bytes": 3285, + "sha256": "5625a5a38d92a68faf5d27aa72cd66cd0bc50d1794f143075f25db4351df56f9" + }, + { + "path": "outputs/optimization-r3-qk/edit/control-validation-0.json", + "bytes": 4622, + "sha256": "02279b25ba75657cb381abfc165cf31b39a9e683d181455375f499fe917bbfec" + }, + { + "path": "outputs/optimization-r3-qk/edit/control-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3-qk/edit/control-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.json", + "bytes": 4651, + "sha256": "80614589ad166391354ca9fec67556dbfcd71a50ef6162941776350d457afad6" + }, + { + "path": "outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.png", + "bytes": 1781761, + "sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304" + }, + { + "path": "outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.trace.safetensors", + "bytes": 38329900, + "sha256": "ab1f86da280c5b355627ea5384dac3ea27b2a3ce23204f5ea66910d83639073c" + }, + { + "path": "outputs/optimization-r3-qk/holdout-detail/control-validation-0.json", + "bytes": 4725, + "sha256": "e2834ba6ea616ed1afa344882cfdedf5bf1bdf2e7a32a6db8d31a9cd41204374" + }, + { + "path": "outputs/optimization-r3-qk/holdout-detail/control-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3-qk/holdout-detail/control-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.json", + "bytes": 4747, + "sha256": "c3de86f41fd05a2a92c1034e2497c3168d89b86dc2338f3d82f345728b6e217b" + }, + { + "path": "outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.png", + "bytes": 6656760, + "sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038" + }, + { + "path": "outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.trace.safetensors", + "bytes": 23025306, + "sha256": "ec09215c7aceba45e8174d197b83240ac42daf2538330c33b58591695bfd059d" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-0.json", + "bytes": 4596, + "sha256": "8052043726f6f334af3709555f31094338604b8a0f6dd2c2dffc6891ccea2dae" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-1.json", + "bytes": 4599, + "sha256": "cce81439754454b6e2049cdd9e22120eaf73db0f03128167d78218550f952a13" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-2.json", + "bytes": 4598, + "sha256": "530cfd6ed33934156eef55c2f03281328940b0c32307312bbacf1afd4fb15a37" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-warmup--1.json", + "bytes": 4605, + "sha256": "a4083f03196cc43f43c7838b50b3d20fa1f96568148edbe5032269cd9eab35ea" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/control-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.json", + "bytes": 4622, + "sha256": "84615f6e917d82dcc018dd2ac23f71711e8e0e2d7cc3d2862582d8afa1bf161f" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.json", + "bytes": 4619, + "sha256": "04b392c0da97670e4c103135287245104b37ff450dc718a377c9a5c37bb1bc6a" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-2.json", + "bytes": 4624, + "sha256": "ee897282ba83f318d1047acacdc62d29c0d5d68cdd188bb3c657d735a941a7d7" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-2.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-2.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.json", + "bytes": 4629, + "sha256": "e5d1623f341043824465a411fa94c1e13a69561625dd2f55604aa088fa1cea78" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.png", + "bytes": 7082125, + "sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933" + }, + { + "path": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.trace.safetensors", + "bytes": 22861402, + "sha256": "5808ccec8c5049ce2761d0b5f41638e28107b287c9e63fe6bef175e600c9c6c8" + }, + { + "path": "outputs/optimization-r3-qk/product/control-cold--1.json", + "bytes": 4616, + "sha256": "17ade3128aa48882ecdf32cc0ca80aa35ff60977383fbb189324f1e458501507" + }, + { + "path": "outputs/optimization-r3-qk/product/control-cold--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/control-cold--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-0.json", + "bytes": 4597, + "sha256": "b398e8a0499e5156d72dce23bb51b3a5096f1921e545fa2702fd4a5301a414c2" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-1.json", + "bytes": 4602, + "sha256": "465c336efa3fdb1079faa9454fb903d0c4d6d7466198acaa7dae80a31d377e1f" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-2.json", + "bytes": 4599, + "sha256": "18113be6dc3f464426c3bc9edd122dadf640c267d5153e4a2445670aef7b95ff" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/control-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.json", + "bytes": 4626, + "sha256": "39c550fd778f006efce867e9b09e206f8b30c7257b5e058377ef0155d65a25e1" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.json", + "bytes": 4627, + "sha256": "3f440b9495c6eaf96ed55b95fb9d9c7babd6ddf04a8a81b29e9da616355847ec" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.json", + "bytes": 4626, + "sha256": "2a4e47284e456d92fcd8ab58fd92487a8e7f64f3b8fdbd451a0fb6a6fd1f8863" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.json", + "bytes": 4629, + "sha256": "90504253440a3d913e089843fba16e48a883cec9b157e52fd2c19291dc049358" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "outputs/optimization-r3-qk/quality.json", + "bytes": 1421, + "sha256": "ba78d7db28b89981956181e82575f63fa411845ca964ee2944d99bd1128f43c3" + }, + { + "path": "outputs/optimization-r3-qk/runs.jsonl", + "bytes": 9884, + "sha256": "ec303dd7f11fa79c1539a424d04ff9dc9f427a3d4181a7957199b7dc6ee6b9c8" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/blocks.py", + "bytes": 5862, + "sha256": "a67e338a98fe394d6ccace5cb0b76919f7c041b5eb35b07f4031c186eb1f5789" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/common.py", + "bytes": 1258, + "sha256": "d2ddb5e7559218ae18b4b7601ed922765828388d6ff5719827370c5ec23c426b" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/embedding.py", + "bytes": 2051, + "sha256": "c103a8e6c8af77ba37a01fb4cabc1d9a14f4fd8b141832ef010a7ed0f19b6790" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/embedding_campaign.py", + "bytes": 2466, + "sha256": "37793240392d7dc940ede59f793cb6a854df7af51cc496ee7efd63aaca644108" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/fc1.py", + "bytes": 5460, + "sha256": "f1ca0611c4a4227093354b573ce701bf137f17e28bfa3c2f4fe195e04967520b" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/fusions.py", + "bytes": 5696, + "sha256": "07417745aa39ce9cc3d07939a861b67078b312f194e399221b060ab035d90b3d" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/images.py", + "bytes": 9608, + "sha256": "74e8d1bdb1d8a200e88d4fc74e4577ac8319ed9cb41900c5de29094d9d65c697" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/norm.py", + "bytes": 3934, + "sha256": "1d136df218ae37719fd48c9b249128708382c7fcdc1d71806aeec60452470469" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/panel.py", + "bytes": 2665, + "sha256": "2fb4ea4b2a86409d1753d065a1e5a45f327339a1747bbe68a6c2349d93868adc" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/report.py", + "bytes": 9931, + "sha256": "60727cd82b1d9b4a10a2a44e5a632ef60ca3bf3c27d666baf98eed3646684032" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/screen.py", + "bytes": 9786, + "sha256": "bd8c048619a43d88090465c45e28943d1c89d08edc3fbb5b2074bb5e59634aaa" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/shapes.py", + "bytes": 4799, + "sha256": "c377864f32dc40265f25353c29be1b271a337509a0b22c5ca993a3500e1094b6" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/r3/trace_audit.py", + "bytes": 2387, + "sha256": "59ff5c79452d047d187d1f6fc0fe97035475fa7e1e447267729701f1ab7c441f" + }, + { + "path": "outputs/optimization-r3-qk/source/experiments/v2_mpp.py", + "bytes": 6681, + "sha256": "880761884b6391c04878af8b0aba8fcc185090c092072db5fd271d7e40c721f9" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/__init__.py", + "bytes": 425, + "sha256": "aed249298f9d0dc0df85ea4ac6904302c725b3432e389c01078908bbfae554f2" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/__main__.py", + "bytes": 30, + "sha256": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/benchmark.py", + "bytes": 6850, + "sha256": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/cli.py", + "bytes": 8504, + "sha256": "087168864ff0df22dc83536650483fc8c09a6ef526a77e2adc61dae86cf9441d" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/compare.py", + "bytes": 11888, + "sha256": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/config.py", + "bytes": 2084, + "sha256": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/convert.py", + "bytes": 3919, + "sha256": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/coreml_vae.py", + "bytes": 3376, + "sha256": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/dit.py", + "bytes": 23026, + "sha256": "6a2d3318f813ef88e366845fb38f86971e6cacfd414a5340f68a5bb20beb9a10" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/encoder.py", + "bytes": 7250, + "sha256": "24d68a2e00e334c10b6d7b1ea9dde50074edecbb30236a2c238c14ffb80e64c2" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/kernels.py", + "bytes": 4919, + "sha256": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/layout.py", + "bytes": 1856, + "sha256": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/memory.py", + "bytes": 3482, + "sha256": "53dc36a7e08391523f9f19f0c27e2059bdc87219282a9bb7f23f92d92cb0049d" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/ops.py", + "bytes": 3228, + "sha256": "111b3ee956ee4090f356d68644edc936ad2fe4bde394a699830fd0e8ae8ba273" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/packed.py", + "bytes": 5390, + "sha256": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/reference.py", + "bytes": 6351, + "sha256": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/runtime.py", + "bytes": 14732, + "sha256": "654a4d07b79e48d015c7f1bcf3084c8b92c875b2f957b5afb81a8900a9162a0d" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/tuning.py", + "bytes": 10546, + "sha256": "d26a892d8b45b0a688eeb85274b6a7706e4ace97baaaab885e978a785b9cf71e" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/vae.py", + "bytes": 8916, + "sha256": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/vision.py", + "bytes": 7757, + "sha256": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea" + }, + { + "path": "outputs/optimization-r3-qk/source/h3_mlx/weights.py", + "bytes": 7718, + "sha256": "8f81139011d1a813e6245d3a97681aa17285ace90fe32f5831e327e5781fcdd1" + }, + { + "path": "outputs/optimization-r3-qk/source-manifest.json", + "bytes": 3285, + "sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea" + }, + { + "path": "outputs/optimization-r3-qk/workload.json", + "bytes": 2742, + "sha256": "5dfe34824190abd241185fd37214e3de5be425d82f0a6f556d0d23f0dec68042" + }, + { + "path": "outputs/optimization-r3-wheel/product.json", + "bytes": 4228, + "sha256": "fe52a1c029388e22a3423d890ddc637cb1033f406428f738e85a357a80e5118d" + }, + { + "path": "outputs/optimization-r3-wheel/product.png", + "bytes": 6051925, + "sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293" + }, + { + "path": "outputs/optimization-r3-wheel/product.trace.safetensors", + "bytes": 22892134, + "sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29" + }, + { + "path": "provenance/optimization-r3.json", + "bytes": 1411, + "sha256": "d6d082a91c45e4f55ab34134fa8b65cb786f36cdf150b94b770bc8402bbdfe4d" + }, + { + "path": "provenance/sources.json", + "bytes": 2602, + "sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f" + }, + { + "path": "pyproject.toml", + "bytes": 837, + "sha256": "dd023a36a89713147f477e70834d7df69974362b63aabf12b8f5fac077564444" + }, + { + "path": "reports/optimization-r3/METHOD.md", + "bytes": 5102, + "sha256": "9217242ebc27be328b0dfcc6714677c3885eb50a014ccc2f412555948ce7fd4d" + }, + { + "path": "reports/optimization-r3/RESULTS.md", + "bytes": 10340, + "sha256": "06482eba55f41ebd08b3508cac99c2142c916203d49c40e84fb7006757467829" + }, + { + "path": "reports/optimization-r3/STATUS.json", + "bytes": 1552, + "sha256": "b9b347b806271ff15de1c27e93993a8d86c48081dcb2f5f0f64347f9b38be741" + }, + { + "path": "reports/optimization-r3/SUMMARY.json", + "bytes": 6400, + "sha256": "acbc49afb0641f03409aee6a27d83fe916a12888196211a0c196a80ce06430bb" + }, + { + "path": "reports/optimization-r3/blocks-finalists.log", + "bytes": 5118, + "sha256": "056e73429eb09ff9651eed61142db665c60d94739772522707e7c8db6cbbdafc" + }, + { + "path": "reports/optimization-r3/blocks-first.json", + "bytes": 5723, + "sha256": "ea9b229d9dc5f86be31f71beb6b22ab44ee17721087b9d7e313c4620bc0fa43d" + }, + { + "path": "reports/optimization-r3/blocks.json", + "bytes": 8829, + "sha256": "cb2ffca5f767f369ae2a39c03b06b17758be094126e01ad6a29142226fd06450" + }, + { + "path": "reports/optimization-r3/blocks.log", + "bytes": 3067, + "sha256": "2fe98edce686b2a108028707ec68416f331d5396099f9547e4b637f6f9d69319" + }, + { + "path": "reports/optimization-r3/cache-screen.json", + "bytes": 7821, + "sha256": "568b51938cf5f02a94c14d47298fa225d98b5ae384200dac0e4b55a1e91c6009" + }, + { + "path": "reports/optimization-r3/cache-screen.log", + "bytes": 5392, + "sha256": "ce4e58873fa1bac6f2ced82896d6b1ab7d74a724d76b17a7d70fb1dd109f8e47" + }, + { + "path": "reports/optimization-r3/cache1-timing-memory.png", + "bytes": 91533, + "sha256": "25a3cb0c28b215dc7a520370ddc8fd6dede00ce9023ed14f59a704b6e5eff2ae" + }, + { + "path": "reports/optimization-r3/compact-audit.log", + "bytes": 1848, + "sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d" + }, + { + "path": "reports/optimization-r3/compact-deployment/comparison.json", + "bytes": 1821, + "sha256": "f04c312015382fdfd7cd021df6168d7729344594ee7c4ac2143b18f4b503c66c" + }, + { + "path": "reports/optimization-r3/compact-deployment/control.receipt.json", + "bytes": 5465, + "sha256": "b1c368f6fbd1732be68714d40bd87e941e6d07bdbce7a0f046bd59340a56e070" + }, + { + "path": "reports/optimization-r3/compact-deployment/qk-fc2-native-norm.receipt.json", + "bytes": 5486, + "sha256": "3b990fe5a0df069932f072cec0b97b931e494d15a1907fcc3648b04d00608e62" + }, + { + "path": "reports/optimization-r3/compact-deployment/quality-audit.json", + "bytes": 7703, + "sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16" + }, + { + "path": "reports/optimization-r3/compact-deployment/summary.json", + "bytes": 1848, + "sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d" + }, + { + "path": "reports/optimization-r3/compact-images.log", + "bytes": 19630, + "sha256": "3f93e32a538185c9276c8a45985d79b5a26189bd181e03ccd220d4ba8b1b2edc" + }, + { + "path": "reports/optimization-r3/compact-timing-memory.png", + "bytes": 93725, + "sha256": "37d0a404a497b0848644efbb1185cde9b8f2c3a220cb31ff88ab52e9c8c694ce" + }, + { + "path": "reports/optimization-r3/compact-trace-audit.json", + "bytes": 26954, + "sha256": "e6f5bb6a4a52be8ea832bcd22e033c473499592702f9ed46d9a488af09c3d281" + }, + { + "path": "reports/optimization-r3/deployment/comparison.json", + "bytes": 1815, + "sha256": "5438ce89ced53d19913534af51cb1e20d6d11e98794a5b7a986ba07480a393d8" + }, + { + "path": "reports/optimization-r3/deployment/control.receipt.json", + "bytes": 5365, + "sha256": "29c0555c5ee93234f9f850aae5bbc72ca42abf33f9a4ba97abb60e719830c8a0" + }, + { + "path": "reports/optimization-r3/deployment/qk-fc2.receipt.json", + "bytes": 5363, + "sha256": "ed7414bf97d2302f63c6bec8b6e74be28ba2e59bcfca61083be110eae568114a" + }, + { + "path": "reports/optimization-r3/deployment/quality-audit.json", + "bytes": 7523, + "sha256": "9ca5a230623a6e864905c3eb4415744e5ba316581124124491d1b402de6b2fc7" + }, + { + "path": "reports/optimization-r3/deployment/summary.json", + "bytes": 1828, + "sha256": "b5bb2dbed4be970e4dfd1e5100e83bdfc65a817ca91994448da8aa2ef3cefd82" + }, + { + "path": "reports/optimization-r3/deployment-audit.log", + "bytes": 1828, + "sha256": "b5bb2dbed4be970e4dfd1e5100e83bdfc65a817ca91994448da8aa2ef3cefd82" + }, + { + "path": "reports/optimization-r3/deployment-images.log", + "bytes": 19319, + "sha256": "8d8b3ebdb1d0cf17523043a0e0d910bcaa1c74ae9e47a78eae8bbf1dd2870653" + }, + { + "path": "reports/optimization-r3/deployment-trace-audit.json", + "bytes": 35065, + "sha256": "2358c440b8d1169614d47a2dc021f47cf875f0c8d689a87eef13a33a7af3bc34" + }, + { + "path": "reports/optimization-r3/embedding/full-prepare-page-cache--1.json", + "bytes": 1737, + "sha256": "607d6072544d37c51f19d9566ce4ce095a9b3ee21735b99121be02c46774c443" + }, + { + "path": "reports/optimization-r3/embedding/full-prepare-page-cache--1.log", + "bytes": 1118, + "sha256": "a35703d3a9a9690435ae0d5c9b964cc7dd169c99cb44f1eee1092d96ba245cef" + }, + { + "path": "reports/optimization-r3/embedding/full-timed-0.json", + "bytes": 1708, + "sha256": "c26f3746c17ccae71ef864f6504d9f8b91aca2cb98b156633b2579cdb1e283b9" + }, + { + "path": "reports/optimization-r3/embedding/full-timed-0.log", + "bytes": 1117, + "sha256": "6e7e7d326e1df76201c10a1b219474f691dd3f1ced03ab60fc7efabc4a926acf" + }, + { + "path": "reports/optimization-r3/embedding/full-timed-1.json", + "bytes": 1709, + "sha256": "9636598417c5be1f4a182d23daf7477a89879caf4d3e55c65bab56bb6cf976e9" + }, + { + "path": "reports/optimization-r3/embedding/full-timed-1.log", + "bytes": 1117, + "sha256": "5304cf70697a36723ea4702ddb2a7e80ba2d08cfa248b7f0c649edb1d0c36f1e" + }, + { + "path": "reports/optimization-r3/embedding/full-timed-2.json", + "bytes": 1709, + "sha256": "fa59ba59f193df78e5c3b9a83289300dac1b47a41e5a0a2ce2786bf2ebdfed08" + }, + { + "path": "reports/optimization-r3/embedding/full-timed-2.log", + "bytes": 1117, + "sha256": "ddddd5442d003dfc6c4004931287da3ea1fb9552a84a57527833fdb41e2fda4c" + }, + { + "path": "reports/optimization-r3/embedding/rows-timed-0.json", + "bytes": 1701, + "sha256": "e7895eeb637161c16ff0f29d737224825cd6ea73089f366695efcdf7871357ce" + }, + { + "path": "reports/optimization-r3/embedding/rows-timed-0.log", + "bytes": 1110, + "sha256": "f26aede3d4eaceb3f3ec6e7d395f746a0c5d7e31620b1bd654ffbe69af589991" + }, + { + "path": "reports/optimization-r3/embedding/rows-timed-1.json", + "bytes": 1701, + "sha256": "2b55f95a44b1dde239c667c2ed1bdf2a71113372f361c77f0e059153a597dd20" + }, + { + "path": "reports/optimization-r3/embedding/rows-timed-1.log", + "bytes": 1109, + "sha256": "29c9f4b0fa4dd10e8c2af0cf9cbfbc47f94aba719afdf4453690376d13b2cd69" + }, + { + "path": "reports/optimization-r3/embedding/rows-timed-2.json", + "bytes": 1701, + "sha256": "f7e28b51acfd25cfa2ad64e8c1724dbe675a60b4ad802a68a4bd5b8cf2180f62" + }, + { + "path": "reports/optimization-r3/embedding/rows-timed-2.log", + "bytes": 1109, + "sha256": "8fe27be019c14653308c39a8fc965a6557b72498c8ca92aa768c0449ba08b37e" + }, + { + "path": "reports/optimization-r3/embedding/summary.json", + "bytes": 686, + "sha256": "dabdba5b4d3b9cebbccfc43671014971ba26216c96e52d50054e050c2ff676d9" + }, + { + "path": "reports/optimization-r3/embedding-campaign.log", + "bytes": 686, + "sha256": "dabdba5b4d3b9cebbccfc43671014971ba26216c96e52d50054e050c2ff676d9" + }, + { + "path": "reports/optimization-r3/embedding-tests.log", + "bytes": 98, + "sha256": "b4e6716fbd6745e8531d806d530757d7b2e907a881718c8369d92405a53c4ebc" + }, + { + "path": "reports/optimization-r3/fc1-compile-failure.json", + "bytes": 11572, + "sha256": "d0ecc8c7a42d5681252605efb9cae172a1f75fff8b5e8165d86a6b43f9eea9f9" + }, + { + "path": "reports/optimization-r3/fc1.json", + "bytes": 11943, + "sha256": "284eef0ae964cd5f067ea1ff2ca421d3ffa6d41148e7b1ffd159d0aea2d959bd" + }, + { + "path": "reports/optimization-r3/fc1.log", + "bytes": 7139, + "sha256": "84ebabac07b9951b4e5d28e0201a8b4f08d22fe0edc5902b901c93adf1764baa" + }, + { + "path": "reports/optimization-r3/images.log", + "bytes": 22870, + "sha256": "4e4a6c7f08fc735459997920817312c5410286704cdb03441765a08f44b77784" + }, + { + "path": "reports/optimization-r3/lint-draft.log", + "bytes": 1350, + "sha256": "83bf2df8ccd120ac85ea2d0a23b4e74331c2a4a3d69a415e19f98cffb9f06e35" + }, + { + "path": "reports/optimization-r3/norm.json", + "bytes": 6966, + "sha256": "473e30d475788737cf7e45349ef94c0330f527a5011d9a8d3c8590822a87e3e7" + }, + { + "path": "reports/optimization-r3/norm.log", + "bytes": 4122, + "sha256": "1c002b2b31c4ec015313a7ae1589e78d6a6e8bdcea8ba3a05ef1486ccb908577" + }, + { + "path": "reports/optimization-r3/panel.json", + "bytes": 2792, + "sha256": "7c1d64f439912eccdf0b959b3c3e460046b5737aec04959642a9ec90a76c9ce8" + }, + { + "path": "reports/optimization-r3/panel.log", + "bytes": 2180, + "sha256": "895d4b95a39640879ed3490be47a77403fbe4f4c8ebb3f9c93434da62f0d0a9d" + }, + { + "path": "reports/optimization-r3/qk-audit.log", + "bytes": 1839, + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + }, + { + "path": "reports/optimization-r3/qk-deployment/comparison.json", + "bytes": 1819, + "sha256": "346409df254b31a692f4d031c1363efd35ba9638db494e4bf5f13afe3b6d31ad" + }, + { + "path": "reports/optimization-r3/qk-deployment/control.receipt.json", + "bytes": 5423, + "sha256": "5cca2021b3f1943a96a66306a282807046e49722b53d043a02e3329c0555db64" + }, + { + "path": "reports/optimization-r3/qk-deployment/qk-fc2-native-norm.receipt.json", + "bytes": 5444, + "sha256": "04c51179eb31f73187d9bbe4c66e23c58b4a04428c33fd21d45d9e001eb00f76" + }, + { + "path": "reports/optimization-r3/qk-deployment/quality-audit.json", + "bytes": 7603, + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + { + "path": "reports/optimization-r3/qk-deployment/summary.json", + "bytes": 1839, + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + }, + { + "path": "reports/optimization-r3/qk-images.log", + "bytes": 19373, + "sha256": "5283b2149aaa89a59e9bcf1e44d90442b1bd882c940a07c03e7fb8d34426ef38" + }, + { + "path": "reports/optimization-r3/qk-trace-audit.json", + "bytes": 28920, + "sha256": "cdcc1cbc0b1d0d54f9db6563b74b4e5743751b67f505f1f31969c0cb14d4f9b8" + }, + { + "path": "reports/optimization-r3/research/quality-audit.json", + "bytes": 8775, + "sha256": "2ebcb58b0f5502bce73df6b1cc0dc6ecec5498db1f3228aa685335f62f91728f" + }, + { + "path": "reports/optimization-r3/research/summary.json", + "bytes": 1814, + "sha256": "cb8413ffeb8b785c6c1043251ab433e3da4177bf5cf2fe27dd5dffc8893e5edb" + }, + { + "path": "reports/optimization-r3/research-audit.log", + "bytes": 1814, + "sha256": "cb8413ffeb8b785c6c1043251ab433e3da4177bf5cf2fe27dd5dffc8893e5edb" + }, + { + "path": "reports/optimization-r3/screen-decisions.json", + "bytes": 2626, + "sha256": "c747550744aa6587f689cc00353de1f83c42a46d3877ebdf195ce723fd99e1ea" + }, + { + "path": "reports/optimization-r3/screen-initial.json", + "bytes": 53337, + "sha256": "3a217360625abb4a26248bbe00c9dfe30fed2d928062f71c5c7cf5af8eb916be" + }, + { + "path": "reports/optimization-r3/screen.json", + "bytes": 112141, + "sha256": "58675fb0df998d08b52c9fe4258cedf708ce638c914f628eb0b417ee27993c8f" + }, + { + "path": "reports/optimization-r3/screen.log", + "bytes": 70750, + "sha256": "2697ba16c6585c4d93837b5275c4450e77457760980fa5b7f675498341eb41ce" + }, + { + "path": "reports/optimization-r3/shapes-extra.json", + "bytes": 10717, + "sha256": "aa575c4df44a6dfae77638c6db63a37f9370e67aea59a457ee26611474bf4704" + }, + { + "path": "reports/optimization-r3/shapes-extra.log", + "bytes": 6467, + "sha256": "1adf8faccc3dee8ef21f67278266747aee63451e3e406bf0946a5c2333fcb8e9" + }, + { + "path": "reports/optimization-r3/shapes.json", + "bytes": 5140, + "sha256": "5c58c2e51efa67f487ea315a386e653f81594b29297d0ce2d6a21747cfae09ba" + }, + { + "path": "reports/optimization-r3/shapes.log", + "bytes": 2776, + "sha256": "5aa1f7f59a65f502bed07709a7a43db17a553456d3abb66adb6d5bc66c57ca51" + }, + { + "path": "reports/optimization-r3/skill-source-audit.json", + "bytes": 3833, + "sha256": "1acde66c05f3a47ec0b0af37d78136204ba374cccf0aede37ef9481cc00a3ad6" + }, + { + "path": "reports/optimization-r3/tests.log", + "bytes": 99, + "sha256": "729220f6c6fae6193d35e9510570c4de0b813d9446f535c41eb6d4fd6c65e2c3" + }, + { + "path": "reports/optimization-r3/timing-memory.png", + "bytes": 93179, + "sha256": "09ea030307994ecdbba79912b2324bb597fe7f04af4be2dc4a8ea8e93645e756" + }, + { + "path": "reports/optimization-r3/trace-audit.json", + "bytes": 45219, + "sha256": "181ad4ca517f3e58e4070ee676a0c41207cc3861ee4e8e6b498c11ae401e3edf" + }, + { + "path": "reports/optimization-r3/wheel-build.log", + "bytes": 4995, + "sha256": "503fdc93ea909b41acf6a0764e42eabc55892b6a9f5e4b000e21e0c8d1ace973" + }, + { + "path": "reports/optimization-r3/wheel-cli.json", + "bytes": 6592, + "sha256": "813384da8643af0ea86432df03aaaab840fbac9f1133e84e9d9497116ef95fd5" + }, + { + "path": "reports/optimization-r3/wheel-cli.log", + "bytes": 1631, + "sha256": "6239d24376242a5d6bef5d52c954b316e921b547e09ccde8f07f0313e6efbb9e" + }, + { + "path": "reports/optimization-r3/wheel-verification.log", + "bytes": 223, + "sha256": "de8e5b5e73f8669c943a805d5b9a6ab247bda45794973719f215dfa85cf5bcfa" + }, + { + "path": "reports/optimization-r3/wheel.json", + "bytes": 2252, + "sha256": "c1d099eeddc6d24c2cbca4e83318cb166c100ba1557115b9872fd3b3116397b8" + }, + { + "path": "tests/test_compilation.py", + "bytes": 2195, + "sha256": "4d060d4f1cd7576f34d186c99d2a0cbc17627c1d3ac6f17385cbe7e3c662e5a8" + }, + { + "path": "tests/test_conversion.py", + "bytes": 2026, + "sha256": "411b571336dbab4d6c46074a67f1894318d5ccadebbef49c84c4b0d778169a87" + }, + { + "path": "tests/test_embedding_rows.py", + "bytes": 1506, + "sha256": "f360d55fd4933d8ecc637c18d679bba8575f653ee5c216a2f89c144951ac9668" + }, + { + "path": "tests/test_numerics.py", + "bytes": 6783, + "sha256": "373eb2f050ae101316dfd3a5f8a86eb74ceda98e180690b5c22094b4aad106dc" + }, + { + "path": "tests/test_packed.py", + "bytes": 1604, + "sha256": "0481ae241cd78bb4803a53aac96468d65e376a8785826ad4b9665612985db737" + }, + { + "path": "tests/test_refiner_cache.py", + "bytes": 1688, + "sha256": "3d975c227d0a7b796123eddda80eb0d59f2b626aed1be85555f1bfed2dc153d8" + }, + { + "path": "tests/test_runtime_guard.py", + "bytes": 1445, + "sha256": "22109167307119b5773b0e64a6f55b262e9d0fe71fc63d7ab4b6278c2c018eaf" + }, + { + "path": "tests/test_tuning.py", + "bytes": 3039, + "sha256": "2dd8d15d485119af1c76de1af5e3c4b8386f8e9b43ed4f7f6a78c92aa8692752" + }, + { + "path": "tests/test_vae_compare.py", + "bytes": 3530, + "sha256": "8f9d9b858325a91f6169bf7b4ca417f4e9f17ad8c1621a303256ecfb00d72886" + } + ] +} diff --git a/reports/optimization-r3/artifact-manifest.sha256 b/reports/optimization-r3/artifact-manifest.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..31b759ddbee61e13361910c66b9580c080689c2b --- /dev/null +++ b/reports/optimization-r3/artifact-manifest.sha256 @@ -0,0 +1 @@ +75dc49a41f64243319b77290fe388f8916306cc90e2b29a26d6cf07b1c1ca695 artifact-manifest.json diff --git a/reports/optimization-r3/blocks-finalists.log b/reports/optimization-r3/blocks-finalists.log new file mode 100644 index 0000000000000000000000000000000000000000..5ba36aebcba4c544a63cf83569e249fe5529a771 --- /dev/null +++ b/reports/optimization-r3/blocks-finalists.log @@ -0,0 +1,5 @@ +{"group": "qk_native_reduce", "head_major": false, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 9.447520948015153, "min_ms": 9.296874981373549, "max_ms": 9.703416842967272, "samples_ms": [9.703416842967272, 9.584542131051421, 9.37366602011025, 9.409416932612658, 9.487750008702278, 9.296874981373549, 9.340708842501044, 9.48562496341765, 9.311167057603598, 9.512332966551185]}, "candidate": {"median_ms": 1.164812478236854, "min_ms": 1.1362920049577951, "max_ms": 1.3076670002192259, "samples_ms": [1.2030829675495625, 1.1704580392688513, 1.1736671440303326, 1.1448750738054514, 1.137667102739215, 1.145332818850875, 1.1591669172048569, 1.1362920049577951, 1.2299581430852413, 1.3076670002192259]}, "reduction_pct": 87.67070764228819} +{"group": "qk_native_reduce", "head_major": true, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 9.508854593150318, "min_ms": 9.290958987548947, "max_ms": 9.688917081803083, "samples_ms": [9.504167130216956, 9.363082936033607, 9.290958987548947, 9.551124880090356, 9.65708284638822, 9.688917081803083, 9.496458107605577, 9.534791111946106, 9.51354205608368, 9.456166066229343]}, "candidate": {"median_ms": 1.2558334274217486, "min_ms": 1.1507498566061258, "max_ms": 1.3518338091671467, "samples_ms": [1.1622910387814045, 1.1507498566061258, 1.1727078817784786, 1.1655841954052448, 1.3518338091671467, 1.268249936401844, 1.324875047430396, 1.3020830228924751, 1.3239579275250435, 1.2434169184416533]}, "reduction_pct": 86.79301050279615} +{"group": "fc2_compiled_block", "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 183.73187503311783, "min_ms": 179.05995808541775, "max_ms": 187.52654106356204, "samples_ms": [179.05995808541775, 180.07337511517107, 180.4345001000911, 180.9190409258008, 182.82225006259978, 184.64150000363588, 185.34387508407235, 186.96787487715483, 186.44287483766675, 187.52654106356204]}, "candidate": {"median_ms": 178.05443797260523, "min_ms": 172.12808318436146, "max_ms": 182.86733282729983, "samples_ms": [172.12808318436146, 174.88345806486905, 175.65049999393523, 176.61041696555912, 178.7279169075191, 177.38095903769135, 178.76341682858765, 182.4859578628093, 182.64337512664497, 182.86733282729983]}, "reduction_pct": 3.090066467502839} +{"group": "qk_compiled_block", "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 194.46229189634323, "min_ms": 189.9893330410123, "max_ms": 199.30545799434185, "samples_ms": [189.9893330410123, 191.2787079345435, 192.03466712497175, 193.5009998269379, 192.95945903286338, 195.42358396574855, 196.06483285315335, 197.53999984823167, 197.66208296641707, 199.30545799434185]}, "candidate": {"median_ms": 189.1520629869774, "min_ms": 184.64308395050466, "max_ms": 192.54904193803668, "samples_ms": [184.72437490709126, 184.64308395050466, 186.77700008265674, 186.95037486031651, 189.0332920011133, 189.2708339728415, 191.06099987402558, 190.72229112498462, 192.54904193803668, 191.98762509040534]}, "reduction_pct": 2.730724222975023} +{"group": "qk_and_fc2_compiled_block", "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 205.9104380896315, "min_ms": 201.97012485004961, "max_ms": 211.21824998408556, "samples_ms": [201.97012485004961, 202.7630410157144, 203.4202078357339, 205.13020898215473, 205.30466712079942, 206.9944590330124, 206.51620905846357, 208.5858341306448, 209.9133748561144, 211.21824998408556]}, "candidate": {"median_ms": 195.80483296886086, "min_ms": 192.06016696989536, "max_ms": 199.2452498525381, "samples_ms": [192.79541703872383, 192.06016696989536, 193.49937490187585, 194.14429203607142, 195.60312503017485, 196.824082871899, 196.68316701427102, 196.00654090754688, 199.08954203128815, 199.2452498525381]}, "reduction_pct": 4.9077672868491184} diff --git a/reports/optimization-r3/blocks-first.json b/reports/optimization-r3/blocks-first.json new file mode 100644 index 0000000000000000000000000000000000000000..6dd753b4cf469878ae6238023d6b7bb83e0a38cc --- /dev/null +++ b/reports/optimization-r3/blocks-first.json @@ -0,0 +1,229 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "trace": "outputs/suite/product/native-3.trace.safetensors", + "trials": [ + { + "group": "qk_native_reduce", + "head_major": false, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 9.35591699089855, + "min_ms": 9.21908300369978, + "max_ms": 10.320875095203519, + "samples_ms": [ + 10.320875095203519, + 9.416084038093686, + 9.4499581027776, + 9.21908300369978, + 9.381124982610345, + 9.304291103035212, + 9.221042040735483, + 9.390667080879211, + 9.330708999186754, + 9.25099989399314 + ] + }, + "candidate": { + "median_ms": 1.136083505116403, + "min_ms": 1.108833122998476, + "max_ms": 1.1643751058727503, + "samples_ms": [ + 1.1643751058727503, + 1.1221659369766712, + 1.1629578657448292, + 1.1406249832361937, + 1.1251671239733696, + 1.135583035647869, + 1.108833122998476, + 1.1329168919473886, + 1.1530828196555376, + 1.136583974584937 + ] + }, + "reduction_pct": 87.8570587338303 + }, + { + "group": "qk_native_reduce", + "head_major": true, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 9.307708591222763, + "min_ms": 9.221249958500266, + "max_ms": 9.424749994650483, + "samples_ms": [ + 9.32566705159843, + 9.424749994650483, + 9.402042021974921, + 9.289750130847096, + 9.419791167601943, + 9.259665850549936, + 9.280375204980373, + 9.286541026085615, + 9.221249958500266, + 9.354749927297235 + ] + }, + "candidate": { + "median_ms": 1.1880624806508422, + "min_ms": 1.1598749551922083, + "max_ms": 1.287125051021576, + "samples_ms": [ + 1.19629199616611, + 1.19012501090765, + 1.227125059813261, + 1.287125051021576, + 1.1761249043047428, + 1.1859999503940344, + 1.1777919717133045, + 1.1598749551922083, + 1.1925841681659222, + 1.1800408829003572 + ] + }, + "reduction_pct": 87.2357146873808 + }, + { + "group": "fc2_compiled_block", + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 178.9687710115686, + "min_ms": 177.46241693384945, + "max_ms": 179.53375005163252, + "samples_ms": [ + 178.8127920590341, + 177.46241693384945, + 178.88116696849465, + 178.74775012023747, + 179.53375005163252, + 179.08595805056393, + 179.05637505464256, + 179.51779207214713, + 177.8062500525266, + 179.50733401812613 + ] + }, + "candidate": { + "median_ms": 173.98847895674407, + "min_ms": 172.66458296217024, + "max_ms": 174.95650006458163, + "samples_ms": [ + 173.14049997366965, + 172.66458296217024, + 174.0382919088006, + 173.26654097996652, + 174.76550000719726, + 174.06474985182285, + 173.93866600468755, + 173.82433405146003, + 174.95650006458163, + 174.41516695544124 + ] + }, + "reduction_pct": 2.7827715565541866 + } + ], + "memory": { + "sampled_peak_physical_bytes": 3487335648, + "lifetime_peak_physical_bytes": 3547284704, + "sample_interval_s": 0.1, + "sample_count": 51, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + } +} diff --git a/reports/optimization-r3/blocks.json b/reports/optimization-r3/blocks.json new file mode 100644 index 0000000000000000000000000000000000000000..44eef8905b39ee6b4940b729b390a58aca4f6933 --- /dev/null +++ b/reports/optimization-r3/blocks.json @@ -0,0 +1,355 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "trace": "outputs/suite/product/native-3.trace.safetensors", + "trials": [ + { + "group": "qk_native_reduce", + "head_major": false, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 9.447520948015153, + "min_ms": 9.296874981373549, + "max_ms": 9.703416842967272, + "samples_ms": [ + 9.703416842967272, + 9.584542131051421, + 9.37366602011025, + 9.409416932612658, + 9.487750008702278, + 9.296874981373549, + 9.340708842501044, + 9.48562496341765, + 9.311167057603598, + 9.512332966551185 + ] + }, + "candidate": { + "median_ms": 1.164812478236854, + "min_ms": 1.1362920049577951, + "max_ms": 1.3076670002192259, + "samples_ms": [ + 1.2030829675495625, + 1.1704580392688513, + 1.1736671440303326, + 1.1448750738054514, + 1.137667102739215, + 1.145332818850875, + 1.1591669172048569, + 1.1362920049577951, + 1.2299581430852413, + 1.3076670002192259 + ] + }, + "reduction_pct": 87.67070764228819 + }, + { + "group": "qk_native_reduce", + "head_major": true, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 9.508854593150318, + "min_ms": 9.290958987548947, + "max_ms": 9.688917081803083, + "samples_ms": [ + 9.504167130216956, + 9.363082936033607, + 9.290958987548947, + 9.551124880090356, + 9.65708284638822, + 9.688917081803083, + 9.496458107605577, + 9.534791111946106, + 9.51354205608368, + 9.456166066229343 + ] + }, + "candidate": { + "median_ms": 1.2558334274217486, + "min_ms": 1.1507498566061258, + "max_ms": 1.3518338091671467, + "samples_ms": [ + 1.1622910387814045, + 1.1507498566061258, + 1.1727078817784786, + 1.1655841954052448, + 1.3518338091671467, + 1.268249936401844, + 1.324875047430396, + 1.3020830228924751, + 1.3239579275250435, + 1.2434169184416533 + ] + }, + "reduction_pct": 86.79301050279615 + }, + { + "group": "fc2_compiled_block", + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 183.73187503311783, + "min_ms": 179.05995808541775, + "max_ms": 187.52654106356204, + "samples_ms": [ + 179.05995808541775, + 180.07337511517107, + 180.4345001000911, + 180.9190409258008, + 182.82225006259978, + 184.64150000363588, + 185.34387508407235, + 186.96787487715483, + 186.44287483766675, + 187.52654106356204 + ] + }, + "candidate": { + "median_ms": 178.05443797260523, + "min_ms": 172.12808318436146, + "max_ms": 182.86733282729983, + "samples_ms": [ + 172.12808318436146, + 174.88345806486905, + 175.65049999393523, + 176.61041696555912, + 178.7279169075191, + 177.38095903769135, + 178.76341682858765, + 182.4859578628093, + 182.64337512664497, + 182.86733282729983 + ] + }, + "reduction_pct": 3.090066467502839 + }, + { + "group": "qk_compiled_block", + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 194.46229189634323, + "min_ms": 189.9893330410123, + "max_ms": 199.30545799434185, + "samples_ms": [ + 189.9893330410123, + 191.2787079345435, + 192.03466712497175, + 193.5009998269379, + 192.95945903286338, + 195.42358396574855, + 196.06483285315335, + 197.53999984823167, + 197.66208296641707, + 199.30545799434185 + ] + }, + "candidate": { + "median_ms": 189.1520629869774, + "min_ms": 184.64308395050466, + "max_ms": 192.54904193803668, + "samples_ms": [ + 184.72437490709126, + 184.64308395050466, + 186.77700008265674, + 186.95037486031651, + 189.0332920011133, + 189.2708339728415, + 191.06099987402558, + 190.72229112498462, + 192.54904193803668, + 191.98762509040534 + ] + }, + "reduction_pct": 2.730724222975023 + }, + { + "group": "qk_and_fc2_compiled_block", + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 205.9104380896315, + "min_ms": 201.97012485004961, + "max_ms": 211.21824998408556, + "samples_ms": [ + 201.97012485004961, + 202.7630410157144, + 203.4202078357339, + 205.13020898215473, + 205.30466712079942, + 206.9944590330124, + 206.51620905846357, + 208.5858341306448, + 209.9133748561144, + 211.21824998408556 + ] + }, + "candidate": { + "median_ms": 195.80483296886086, + "min_ms": 192.06016696989536, + "max_ms": 199.2452498525381, + "samples_ms": [ + 192.79541703872383, + 192.06016696989536, + 193.49937490187585, + 194.14429203607142, + 195.60312503017485, + 196.824082871899, + 196.68316701427102, + 196.00654090754688, + 199.08954203128815, + 199.2452498525381 + ] + }, + "reduction_pct": 4.9077672868491184 + } + ], + "memory": { + "sampled_peak_physical_bytes": 3273049384, + "lifetime_peak_physical_bytes": 3546989816, + "sample_interval_s": 0.1, + "sample_count": 146, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + } +} diff --git a/reports/optimization-r3/blocks.log b/reports/optimization-r3/blocks.log new file mode 100644 index 0000000000000000000000000000000000000000..d2790d31aa88d00e9e671d7e9724febf092e32b2 --- /dev/null +++ b/reports/optimization-r3/blocks.log @@ -0,0 +1,3 @@ +{"group": "qk_native_reduce", "head_major": false, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 9.35591699089855, "min_ms": 9.21908300369978, "max_ms": 10.320875095203519, "samples_ms": [10.320875095203519, 9.416084038093686, 9.4499581027776, 9.21908300369978, 9.381124982610345, 9.304291103035212, 9.221042040735483, 9.390667080879211, 9.330708999186754, 9.25099989399314]}, "candidate": {"median_ms": 1.136083505116403, "min_ms": 1.108833122998476, "max_ms": 1.1643751058727503, "samples_ms": [1.1643751058727503, 1.1221659369766712, 1.1629578657448292, 1.1406249832361937, 1.1251671239733696, 1.135583035647869, 1.108833122998476, 1.1329168919473886, 1.1530828196555376, 1.136583974584937]}, "reduction_pct": 87.8570587338303} +{"group": "qk_native_reduce", "head_major": true, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 9.307708591222763, "min_ms": 9.221249958500266, "max_ms": 9.424749994650483, "samples_ms": [9.32566705159843, 9.424749994650483, 9.402042021974921, 9.289750130847096, 9.419791167601943, 9.259665850549936, 9.280375204980373, 9.286541026085615, 9.221249958500266, 9.354749927297235]}, "candidate": {"median_ms": 1.1880624806508422, "min_ms": 1.1598749551922083, "max_ms": 1.287125051021576, "samples_ms": [1.19629199616611, 1.19012501090765, 1.227125059813261, 1.287125051021576, 1.1761249043047428, 1.1859999503940344, 1.1777919717133045, 1.1598749551922083, 1.1925841681659222, 1.1800408829003572]}, "reduction_pct": 87.2357146873808} +{"group": "fc2_compiled_block", "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 178.9687710115686, "min_ms": 177.46241693384945, "max_ms": 179.53375005163252, "samples_ms": [178.8127920590341, 177.46241693384945, 178.88116696849465, 178.74775012023747, 179.53375005163252, 179.08595805056393, 179.05637505464256, 179.51779207214713, 177.8062500525266, 179.50733401812613]}, "candidate": {"median_ms": 173.98847895674407, "min_ms": 172.66458296217024, "max_ms": 174.95650006458163, "samples_ms": [173.14049997366965, 172.66458296217024, 174.0382919088006, 173.26654097996652, 174.76550000719726, 174.06474985182285, 173.93866600468755, 173.82433405146003, 174.95650006458163, 174.41516695544124]}, "reduction_pct": 2.7827715565541866} diff --git a/reports/optimization-r3/cache-screen.json b/reports/optimization-r3/cache-screen.json new file mode 100644 index 0000000000000000000000000000000000000000..e6cd331f5fd5061b8f84c5f5ec68db1f9c0001a7 --- /dev/null +++ b/reports/optimization-r3/cache-screen.json @@ -0,0 +1,245 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Real complete first block, not full-image performance. Cache is free allocations only; same compiled graph and original weights.", + "runs": [ + { + "cache_gb": 1.0, + "repeat": 0, + "milliseconds": 170.40304094552994, + "physical": { + "sampled_peak_physical_bytes": 2257519816, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 137, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 1079159296, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 0.5, + "repeat": 0, + "milliseconds": 172.38624999299645, + "physical": { + "sampled_peak_physical_bytes": 2581791944, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 138, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 584531968, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 0.5, + "repeat": 1, + "milliseconds": 168.31608302891254, + "physical": { + "sampled_peak_physical_bytes": 2534900936, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 135, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 584531968, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 1.0, + "repeat": 1, + "milliseconds": 168.25154121033847, + "physical": { + "sampled_peak_physical_bytes": 2387035336, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 136, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 1079159296, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 1.0, + "repeat": 2, + "milliseconds": 166.40029195696115, + "physical": { + "sampled_peak_physical_bytes": 2387035336, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 134, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 1079159296, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 0.5, + "repeat": 2, + "milliseconds": 171.42949998378754, + "physical": { + "sampled_peak_physical_bytes": 2207220936, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 137, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 584531968, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 0.5, + "repeat": 3, + "milliseconds": 172.30708291754127, + "physical": { + "sampled_peak_physical_bytes": 2325054664, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 138, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 584531968, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 1.0, + "repeat": 3, + "milliseconds": 168.71066694147885, + "physical": { + "sampled_peak_physical_bytes": 2387051720, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 135, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 1079159296, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 1.0, + "repeat": 4, + "milliseconds": 174.8461660463363, + "physical": { + "sampled_peak_physical_bytes": 2387051720, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 140, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 1079159296, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 0.5, + "repeat": 4, + "milliseconds": 176.19187477976084, + "physical": { + "sampled_peak_physical_bytes": 2461680840, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 141, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 584531968, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 0.5, + "repeat": 5, + "milliseconds": 175.01412495039403, + "physical": { + "sampled_peak_physical_bytes": 2496054472, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 140, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 584531968, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "cache_gb": 1.0, + "repeat": 5, + "milliseconds": 174.0318750962615, + "physical": { + "sampled_peak_physical_bytes": 2387018952, + "lifetime_peak_physical_bytes": 2695857424, + "sample_interval_s": 0.001, + "sample_count": 139, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 2095120806, + "mlx_cache_bytes": 1079159296, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + } + ], + "summary": { + "1.0": { + "median_ms": 169.5568539435044, + "max_physical_bytes": 2387051720 + }, + "0.5": { + "median_ms": 172.34666645526886, + "max_physical_bytes": 2581791944 + } + } +} diff --git a/reports/optimization-r3/cache-screen.log b/reports/optimization-r3/cache-screen.log new file mode 100644 index 0000000000000000000000000000000000000000..42052ca41328279c16f50189e886440da0de8b9a --- /dev/null +++ b/reports/optimization-r3/cache-screen.log @@ -0,0 +1,12 @@ +{"cache_gb": 1.0, "repeat": 0, "milliseconds": 170.40304094552994, "physical": {"sampled_peak_physical_bytes": 2257519816, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 137, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 1079159296, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 0.5, "repeat": 0, "milliseconds": 172.38624999299645, "physical": {"sampled_peak_physical_bytes": 2581791944, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 138, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 584531968, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 0.5, "repeat": 1, "milliseconds": 168.31608302891254, "physical": {"sampled_peak_physical_bytes": 2534900936, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 135, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 584531968, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 1.0, "repeat": 1, "milliseconds": 168.25154121033847, "physical": {"sampled_peak_physical_bytes": 2387035336, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 136, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 1079159296, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 1.0, "repeat": 2, "milliseconds": 166.40029195696115, "physical": {"sampled_peak_physical_bytes": 2387035336, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 134, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 1079159296, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 0.5, "repeat": 2, "milliseconds": 171.42949998378754, "physical": {"sampled_peak_physical_bytes": 2207220936, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 137, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 584531968, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 0.5, "repeat": 3, "milliseconds": 172.30708291754127, "physical": {"sampled_peak_physical_bytes": 2325054664, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 138, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 584531968, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 1.0, "repeat": 3, "milliseconds": 168.71066694147885, "physical": {"sampled_peak_physical_bytes": 2387051720, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 135, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 1079159296, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 1.0, "repeat": 4, "milliseconds": 174.8461660463363, "physical": {"sampled_peak_physical_bytes": 2387051720, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 140, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 1079159296, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 0.5, "repeat": 4, "milliseconds": 176.19187477976084, "physical": {"sampled_peak_physical_bytes": 2461680840, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 141, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 584531968, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 0.5, "repeat": 5, "milliseconds": 175.01412495039403, "physical": {"sampled_peak_physical_bytes": 2496054472, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 140, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 584531968, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"cache_gb": 1.0, "repeat": 5, "milliseconds": 174.0318750962615, "physical": {"sampled_peak_physical_bytes": 2387018952, "lifetime_peak_physical_bytes": 2695857424, "sample_interval_s": 0.001, "sample_count": 139, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 2095120806, "mlx_cache_bytes": 1079159296, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} diff --git a/reports/optimization-r3/compact-audit.log b/reports/optimization-r3/compact-audit.log new file mode 100644 index 0000000000000000000000000000000000000000..9e89231a8533e8af4f625c8b81d7f4856e38d1bc --- /dev/null +++ b/reports/optimization-r3/compact-audit.log @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3-compact", + "cases": { + "product": { + "control": { + "samples_s": [ + 66.73659237497486, + 67.69735000003129, + 66.51806045905687 + ], + "median_s": 66.73659237497486, + "min_s": 66.51806045905687, + "max_s": 67.69735000003129, + "peak_physical_bytes": 34269748624, + "peak_mlx_bytes": 32102341812 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 64.8621540828608, + 65.30018041608855, + 63.02173458295874 + ], + "median_s": 64.8621540828608, + "min_s": 63.02173458295874, + "max_s": 65.30018041608855, + "peak_physical_bytes": 34089393624, + "peak_mlx_bytes": 32159138472 + }, + "reduction_pct": 2.808711421137755 + }, + "portrait": { + "control": { + "samples_s": [ + 66.77446975000203, + 66.11278283409774, + 65.95004508295096 + ], + "median_s": 66.11278283409774, + "min_s": 65.95004508295096, + "max_s": 66.77446975000203, + "peak_physical_bytes": 34397462120, + "peak_mlx_bytes": 32101359360 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 63.443048041081056, + 62.976549667073414, + 63.25747816590592 + ], + "median_s": 63.25747816590592, + "min_s": 62.976549667073414, + "max_s": 63.443048041081056, + "peak_physical_bytes": 34173296232, + "peak_mlx_bytes": 32103570176 + }, + "reduction_pct": 4.3188390289921275 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/compact-deployment/comparison.json b/reports/optimization-r3/compact-deployment/comparison.json new file mode 100644 index 0000000000000000000000000000000000000000..c445cacb85e92b4d58ce75a22615914527b0a4e9 --- /dev/null +++ b/reports/optimization-r3/compact-deployment/comparison.json @@ -0,0 +1,58 @@ +{ + "schema_version": 1, + "baseline": "r3-deployment-control", + "candidate": "r3-deployment-qk-fc2-native-norm", + "decision": "measured_improvement", + "quality_pass": true, + "quality_checks": { + "max_abs_error": true, + "nonfinite_values": true + }, + "feasible": true, + "objective": "latency", + "latency_reduction_pct": 3.566731220528463, + "speedup": 1.0369865220340613, + "peak_memory_reduction_pct": 0.651693102293327, + "latency_range_screen_pass": true, + "baseline_summary": { + "cases": { + "product": { + "median_seconds": 66.73659237497486, + "min_seconds": 66.51806045905687, + "max_seconds": 67.69735000003129, + "repeats": 3, + "max_peak_memory_bytes": 34269748624 + }, + "portrait": { + "median_seconds": 66.11278283409774, + "min_seconds": 65.95004508295096, + "max_seconds": 66.77446975000203, + "repeats": 3, + "max_peak_memory_bytes": 34397462120 + } + }, + "geomean_seconds": 66.42395530811467, + "max_peak_memory_bytes": 34397462120 + }, + "candidate_summary": { + "cases": { + "product": { + "median_seconds": 64.8621540828608, + "min_seconds": 63.02173458295874, + "max_seconds": 65.30018041608855, + "repeats": 3, + "max_peak_memory_bytes": 34089393624 + }, + "portrait": { + "median_seconds": 63.25747816590592, + "min_seconds": 62.976549667073414, + "max_seconds": 63.443048041081056, + "repeats": 3, + "max_peak_memory_bytes": 34173296232 + } + }, + "geomean_seconds": 64.05479135623027, + "max_peak_memory_bytes": 34173296232 + }, + "scope": "Equal-weight geometric mean of declared timing-case medians; maximum observed memory. Range screen is descriptive, not statistical confidence; no automatic deployment." +} diff --git a/reports/optimization-r3/compact-deployment/control.receipt.json b/reports/optimization-r3/compact-deployment/control.receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..063104feb0c483022579860b6c8fd539fba77c60 --- /dev/null +++ b/reports/optimization-r3/compact-deployment/control.receipt.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "id": "r3-deployment-control", + "campaign_id": "h3-m5pro-round-03-compact", + "contract_sha256": "e95ad9cbe3e6251bc050377cb2e42e681b99d308a30d6a54decef0d8ce2d7b31", + "complete": true, + "change_class": "control", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "control", + "code_sha256": "5be81c114b17d671881c9d0323d8c305e10fa450ad228a36efd4a264892e6d3d", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "da98e53b10f54d4398305321b423e14df104bb4f4c08c5c363731ced0113d931", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2-native-norm", + "--workload", + "optimization/round-03-compact/workload.json", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-compact" + ] + }, + "quality": { + "variant_sha256": "751869812828b19f54f3907c6b01cdec4afd35682127b86c01d1459d78401960", + "reference_sha256": "5fccbc8664a6efb3f9ff7e14b764c1aae876785fc28fd492dbb6c24b1b773a8b", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 66.73659237497486, + "peak_memory_bytes": 34106662192, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 67.69735000003129, + "peak_memory_bytes": 34232442256, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 66.51806045905687, + "peak_memory_bytes": 34269748624, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 66.77446975000203, + "peak_memory_bytes": 34397462120, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 66.11278283409774, + "peak_memory_bytes": 34380471936, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 65.95004508295096, + "peak_memory_bytes": 34352488040, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-compact/runs.jsonl", + "sha256": "fdd30c091a2f2eaf01e5b2facc32d146796152d560701c472b37c9b226dfe7e3" + }, + { + "path": "outputs/optimization-r3-compact/source-manifest.json", + "sha256": "5be81c114b17d671881c9d0323d8c305e10fa450ad228a36efd4a264892e6d3d" + }, + { + "path": "reports/optimization-r3/compact-deployment/quality-audit.json", + "sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16" + }, + { + "path": "reports/optimization-r3/compact-deployment/summary.json", + "sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/reports/optimization-r3/compact-deployment/qk-fc2-native-norm.receipt.json b/reports/optimization-r3/compact-deployment/qk-fc2-native-norm.receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..341813e318329335d733738151b40371c3905ff4 --- /dev/null +++ b/reports/optimization-r3/compact-deployment/qk-fc2-native-norm.receipt.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "id": "r3-deployment-qk-fc2-native-norm", + "campaign_id": "h3-m5pro-round-03-compact", + "contract_sha256": "e95ad9cbe3e6251bc050377cb2e42e681b99d308a30d6a54decef0d8ce2d7b31", + "complete": true, + "change_class": "exact", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "qk-fc2-native-norm", + "code_sha256": "5be81c114b17d671881c9d0323d8c305e10fa450ad228a36efd4a264892e6d3d", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "b8d8156f78318521a6a133c970992bbb968bffddb1fd471e279f42e7c1e5ffba", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2-native-norm", + "--workload", + "optimization/round-03-compact/workload.json", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-compact" + ] + }, + "quality": { + "variant_sha256": "17db2915d0b76724763358a725d3daa7c6d1860063b0c35140e1de9effe303f6", + "reference_sha256": "5fccbc8664a6efb3f9ff7e14b764c1aae876785fc28fd492dbb6c24b1b773a8b", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 64.8621540828608, + "peak_memory_bytes": 33937792328, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 65.30018041608855, + "peak_memory_bytes": 33980079456, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 63.02173458295874, + "peak_memory_bytes": 34089393624, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 63.443048041081056, + "peak_memory_bytes": 34173296232, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 62.976549667073414, + "peak_memory_bytes": 34171510376, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 63.25747816590592, + "peak_memory_bytes": 34164809368, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-compact/runs.jsonl", + "sha256": "fdd30c091a2f2eaf01e5b2facc32d146796152d560701c472b37c9b226dfe7e3" + }, + { + "path": "outputs/optimization-r3-compact/source-manifest.json", + "sha256": "5be81c114b17d671881c9d0323d8c305e10fa450ad228a36efd4a264892e6d3d" + }, + { + "path": "reports/optimization-r3/compact-deployment/quality-audit.json", + "sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16" + }, + { + "path": "reports/optimization-r3/compact-deployment/summary.json", + "sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/reports/optimization-r3/compact-deployment/quality-audit.json b/reports/optimization-r3/compact-deployment/quality-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..72425e7e00f1a9a50cd27921757ae84535d3d82d --- /dev/null +++ b/reports/optimization-r3/compact-deployment/quality-audit.json @@ -0,0 +1,302 @@ +[ + { + "output": "outputs/optimization-r3-compact/product/control-cold--1.png", + "case": "product", + "variant": "control", + "phase": "cold", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/control-timed-0.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/control-timed-1.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/control-timed-2.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/control-warmup--1.png", + "case": "portrait", + "variant": "control", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/control-timed-0.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/control-timed-1.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/control-timed-2.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-2.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/holdout-detail/control-validation-0.png", + "case": "holdout-detail", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png", + "case": "holdout-detail", + "variant": "qk-fc2-native-norm", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/edit/control-validation-0.png", + "case": "edit", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png", + "case": "edit", + "variant": "qk-fc2-native-norm", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + } +] diff --git a/reports/optimization-r3/compact-deployment/summary.json b/reports/optimization-r3/compact-deployment/summary.json new file mode 100644 index 0000000000000000000000000000000000000000..9e89231a8533e8af4f625c8b81d7f4856e38d1bc --- /dev/null +++ b/reports/optimization-r3/compact-deployment/summary.json @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3-compact", + "cases": { + "product": { + "control": { + "samples_s": [ + 66.73659237497486, + 67.69735000003129, + 66.51806045905687 + ], + "median_s": 66.73659237497486, + "min_s": 66.51806045905687, + "max_s": 67.69735000003129, + "peak_physical_bytes": 34269748624, + "peak_mlx_bytes": 32102341812 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 64.8621540828608, + 65.30018041608855, + 63.02173458295874 + ], + "median_s": 64.8621540828608, + "min_s": 63.02173458295874, + "max_s": 65.30018041608855, + "peak_physical_bytes": 34089393624, + "peak_mlx_bytes": 32159138472 + }, + "reduction_pct": 2.808711421137755 + }, + "portrait": { + "control": { + "samples_s": [ + 66.77446975000203, + 66.11278283409774, + 65.95004508295096 + ], + "median_s": 66.11278283409774, + "min_s": 65.95004508295096, + "max_s": 66.77446975000203, + "peak_physical_bytes": 34397462120, + "peak_mlx_bytes": 32101359360 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 63.443048041081056, + 62.976549667073414, + 63.25747816590592 + ], + "median_s": 63.25747816590592, + "min_s": 62.976549667073414, + "max_s": 63.443048041081056, + "peak_physical_bytes": 34173296232, + "peak_mlx_bytes": 32103570176 + }, + "reduction_pct": 4.3188390289921275 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/compact-images.log b/reports/optimization-r3/compact-images.log new file mode 100644 index 0000000000000000000000000000000000000000..3268b6165a2f46c6798019a49eb1dcceba9b07e8 --- /dev/null +++ b/reports/optimization-r3/compact-images.log @@ -0,0 +1,204 @@ +04:31:18 Conditioning cache hit: 85 effective tokens +04:31:18 Loading cached native AdaLN schedule cache/adaln-4dda935938d45a975c179220.safetensors +04:31:29 DiT step 1/6: 11.156s, 27.30 GiB active +04:31:39 DiT step 2/6: 10.092s, 27.30 GiB active +04:31:50 DiT step 3/6: 10.362s, 27.31 GiB active +04:32:00 DiT step 4/6: 10.570s, 27.31 GiB active +04:32:11 DiT step 5/6: 10.826s, 27.31 GiB active +04:32:22 DiT step 6/6: 10.800s, 27.32 GiB active +04:32:24 VAE tiles 121/121 +04:32:24 Saved outputs/optimization-r3-compact/product/control-cold--1.png in 66.563s +{"case": "product", "variant": "control", "repeat": -1, "phase": "cold", "seconds": 66.56290258304216, "peak_memory_bytes": 32360290864, "mlx_peak_bytes": 31294559724, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/control-cold--1.png", "nonfinite_values": 0, "step_seconds": [11.155969333136454, 10.091942500090227, 10.362390333088115, 10.569547584047541, 10.826430707937106, 10.799633791903034]} +04:32:25 Conditioning cache hit: 85 effective tokens +04:32:35 DiT step 1/6: 10.221s, 28.05 GiB active +04:32:45 DiT step 2/6: 10.413s, 28.06 GiB active +04:32:56 DiT step 3/6: 10.374s, 28.06 GiB active +04:33:06 DiT step 4/6: 10.417s, 28.06 GiB active +04:33:16 DiT step 5/6: 10.304s, 28.06 GiB active +04:33:27 DiT step 6/6: 10.379s, 28.07 GiB active +04:33:29 VAE tiles 121/121 +04:33:29 Saved outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.png in 64.283s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": -1, "phase": "warmup", "seconds": 64.28288616612554, "peak_memory_bytes": 33057774392, "mlx_peak_bytes": 32104519860, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.220672250026837, 10.41268050018698, 10.374119875021279, 10.41737558413297, 10.304355666972697, 10.378587416838855]} +04:33:32 Conditioning cache hit: 85 effective tokens +04:33:42 DiT step 1/6: 10.524s, 28.05 GiB active +04:33:53 DiT step 2/6: 10.518s, 28.06 GiB active +04:34:04 DiT step 3/6: 10.792s, 28.06 GiB active +04:34:14 DiT step 4/6: 10.938s, 28.06 GiB active +04:34:25 DiT step 5/6: 10.803s, 28.06 GiB active +04:34:36 DiT step 6/6: 10.853s, 28.07 GiB active +04:34:38 VAE tiles 121/121 +04:34:38 Saved outputs/optimization-r3-compact/product/control-timed-0.png in 66.737s +{"case": "product", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 66.73659237497486, "peak_memory_bytes": 34106662192, "mlx_peak_bytes": 32102341812, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.524454500060529, 10.518413708079606, 10.792438166914508, 10.938075749902055, 10.803379165939987, 10.852768250042573]} +04:34:38 Conditioning cache hit: 85 effective tokens +04:34:48 DiT step 1/6: 10.172s, 28.05 GiB active +04:34:59 DiT step 2/6: 10.421s, 28.06 GiB active +04:35:09 DiT step 3/6: 10.435s, 28.06 GiB active +04:35:20 DiT step 4/6: 10.570s, 28.06 GiB active +04:35:30 DiT step 5/6: 10.504s, 28.06 GiB active +04:35:41 DiT step 6/6: 10.588s, 28.07 GiB active +04:35:43 VAE tiles 121/121 +04:35:43 Saved outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png in 64.862s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "timed", "seconds": 64.8621540828608, "peak_memory_bytes": 33937792328, "mlx_peak_bytes": 32159138384, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.171907834010199, 10.420595958130434, 10.435337207978591, 10.569814499933273, 10.503622999880463, 10.588133125100285]} +04:35:46 Conditioning cache hit: 85 effective tokens +04:35:56 DiT step 1/6: 9.623s, 28.05 GiB active +04:36:06 DiT step 2/6: 10.695s, 28.06 GiB active +04:36:17 DiT step 3/6: 10.674s, 28.06 GiB active +04:36:28 DiT step 4/6: 10.561s, 28.06 GiB active +04:36:38 DiT step 5/6: 10.587s, 28.06 GiB active +04:36:49 DiT step 6/6: 10.697s, 28.07 GiB active +04:36:51 VAE tiles 121/121 +04:36:51 Saved outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.png in 65.300s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": 1, "phase": "timed", "seconds": 65.30018041608855, "peak_memory_bytes": 33980079456, "mlx_peak_bytes": 32119505460, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.622593499952927, 10.695367791922763, 10.674400207819417, 10.561083749867976, 10.58698095800355, 10.6969631658867]} +04:36:51 Conditioning cache hit: 85 effective tokens +04:37:02 DiT step 1/6: 11.051s, 28.05 GiB active +04:37:13 DiT step 2/6: 11.139s, 28.06 GiB active +04:37:24 DiT step 3/6: 10.983s, 28.06 GiB active +04:37:35 DiT step 4/6: 10.889s, 28.06 GiB active +04:37:46 DiT step 5/6: 10.830s, 28.06 GiB active +04:37:57 DiT step 6/6: 10.753s, 28.07 GiB active +04:37:58 VAE tiles 121/121 +04:37:58 Saved outputs/optimization-r3-compact/product/control-timed-1.png in 67.697s +{"case": "product", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 67.69735000003129, "peak_memory_bytes": 34232442256, "mlx_peak_bytes": 32102341812, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [11.051171125145629, 11.139043250121176, 10.98283537500538, 10.889101000037044, 10.829879583092406, 10.752662291983142]} +04:37:59 Conditioning cache hit: 85 effective tokens +04:38:10 DiT step 1/6: 10.491s, 28.05 GiB active +04:38:21 DiT step 2/6: 10.836s, 28.06 GiB active +04:38:31 DiT step 3/6: 10.815s, 28.06 GiB active +04:38:42 DiT step 4/6: 10.785s, 28.06 GiB active +04:38:53 DiT step 5/6: 10.822s, 28.06 GiB active +04:39:04 DiT step 6/6: 10.726s, 28.07 GiB active +04:39:05 VAE tiles 121/121 +04:39:06 Saved outputs/optimization-r3-compact/product/control-timed-2.png in 66.518s +{"case": "product", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 66.51806045905687, "peak_memory_bytes": 34269748624, "mlx_peak_bytes": 32102341812, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.491216375026852, 10.836496958043426, 10.815235082991421, 10.784631582908332, 10.82166066719219, 10.725950000109151]} +04:39:06 Conditioning cache hit: 85 effective tokens +04:39:16 DiT step 1/6: 10.073s, 28.05 GiB active +04:39:26 DiT step 2/6: 10.141s, 28.06 GiB active +04:39:36 DiT step 3/6: 10.191s, 28.06 GiB active +04:39:46 DiT step 4/6: 10.195s, 28.06 GiB active +04:39:57 DiT step 5/6: 10.165s, 28.06 GiB active +04:40:07 DiT step 6/6: 10.185s, 28.07 GiB active +04:40:09 VAE tiles 121/121 +04:40:09 Saved outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.png in 63.022s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": 2, "phase": "timed", "seconds": 63.02173458295874, "peak_memory_bytes": 34089393624, "mlx_peak_bytes": 32159138472, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.073159834137186, 10.141389958094805, 10.191435000160709, 10.194627792108804, 10.164645916083828, 10.1853685840033]} +04:40:10 Conditioning cache hit: 82 effective tokens +04:40:20 DiT step 1/6: 10.698s, 28.05 GiB active +04:40:31 DiT step 2/6: 10.777s, 28.06 GiB active +04:40:42 DiT step 3/6: 10.656s, 28.06 GiB active +04:40:53 DiT step 4/6: 10.785s, 28.06 GiB active +04:41:03 DiT step 5/6: 10.853s, 28.06 GiB active +04:41:14 DiT step 6/6: 10.872s, 28.07 GiB active +04:41:16 VAE tiles 121/121 +04:41:16 Saved outputs/optimization-r3-compact/portrait/control-warmup--1.png in 66.682s +{"case": "portrait", "variant": "control", "repeat": -1, "phase": "warmup", "seconds": 66.68211762490682, "peak_memory_bytes": 34360909320, "mlx_peak_bytes": 32101358860, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/control-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.69750374997966, 10.77719487505965, 10.656269041122869, 10.785387499956414, 10.852885874919593, 10.872083165915683]} +04:41:16 Conditioning cache hit: 82 effective tokens +04:41:26 DiT step 1/6: 10.142s, 28.05 GiB active +04:41:37 DiT step 2/6: 10.258s, 28.06 GiB active +04:41:47 DiT step 3/6: 10.530s, 28.06 GiB active +04:41:58 DiT step 4/6: 10.269s, 28.06 GiB active +04:42:08 DiT step 5/6: 10.369s, 28.06 GiB active +04:42:18 DiT step 6/6: 10.360s, 28.07 GiB active +04:42:20 VAE tiles 121/121 +04:42:20 Saved outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.png in 63.945s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": -1, "phase": "warmup", "seconds": 63.944655042141676, "peak_memory_bytes": 34187468344, "mlx_peak_bytes": 32103570176, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.141530999913812, 10.25759816612117, 10.529667666880414, 10.268967832904309, 10.369134375127032, 10.359984292183071]} +04:42:20 Conditioning cache hit: 82 effective tokens +04:42:31 DiT step 1/6: 10.600s, 28.05 GiB active +04:42:42 DiT step 2/6: 10.860s, 28.06 GiB active +04:42:53 DiT step 3/6: 10.842s, 28.06 GiB active +04:43:03 DiT step 4/6: 10.819s, 28.06 GiB active +04:43:14 DiT step 5/6: 10.813s, 28.06 GiB active +04:43:25 DiT step 6/6: 10.816s, 28.07 GiB active +04:43:27 VAE tiles 121/121 +04:43:27 Saved outputs/optimization-r3-compact/portrait/control-timed-0.png in 66.774s +{"case": "portrait", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 66.77446975000203, "peak_memory_bytes": 34397462120, "mlx_peak_bytes": 32101359360, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.599762792000547, 10.859696834115312, 10.841980583034456, 10.818649291992188, 10.812689499929547, 10.815967541886494]} +04:43:27 Conditioning cache hit: 82 effective tokens +04:43:37 DiT step 1/6: 10.039s, 28.05 GiB active +04:43:47 DiT step 2/6: 10.278s, 28.06 GiB active +04:43:58 DiT step 3/6: 10.234s, 28.06 GiB active +04:44:08 DiT step 4/6: 10.295s, 28.06 GiB active +04:44:18 DiT step 5/6: 10.208s, 28.06 GiB active +04:44:28 DiT step 6/6: 10.265s, 28.07 GiB active +04:44:30 VAE tiles 121/121 +04:44:30 Saved outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png in 63.443s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "timed", "seconds": 63.443048041081056, "peak_memory_bytes": 34173296232, "mlx_peak_bytes": 32103570176, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.038613541051745, 10.278275415999815, 10.234170750016347, 10.295444874791428, 10.20847308402881, 10.264521708944812]} +04:44:33 Conditioning cache hit: 82 effective tokens +04:44:43 DiT step 1/6: 9.949s, 28.05 GiB active +04:44:53 DiT step 2/6: 9.860s, 28.06 GiB active +04:45:03 DiT step 3/6: 10.123s, 28.06 GiB active +04:45:13 DiT step 4/6: 10.282s, 28.06 GiB active +04:45:24 DiT step 5/6: 10.216s, 28.06 GiB active +04:45:34 DiT step 6/6: 10.209s, 28.07 GiB active +04:45:36 VAE tiles 121/121 +04:45:36 Saved outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.png in 62.977s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": 1, "phase": "timed", "seconds": 62.976549667073414, "peak_memory_bytes": 34171510376, "mlx_peak_bytes": 32103570176, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.948953832965344, 9.86027512489818, 10.12343249982223, 10.28167499997653, 10.216354915872216, 10.20913299988024]} +04:45:36 Conditioning cache hit: 82 effective tokens +04:45:47 DiT step 1/6: 10.713s, 28.05 GiB active +04:45:57 DiT step 2/6: 10.623s, 28.06 GiB active +04:46:08 DiT step 3/6: 10.621s, 28.06 GiB active +04:46:19 DiT step 4/6: 10.692s, 28.06 GiB active +04:46:29 DiT step 5/6: 10.696s, 28.06 GiB active +04:46:40 DiT step 6/6: 10.676s, 28.07 GiB active +04:46:42 VAE tiles 121/121 +04:46:42 Saved outputs/optimization-r3-compact/portrait/control-timed-1.png in 66.113s +{"case": "portrait", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 66.11278283409774, "peak_memory_bytes": 34380471936, "mlx_peak_bytes": 32101359360, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.713293666951358, 10.622679209103808, 10.62054287479259, 10.692101916996762, 10.695621291873977, 10.675941500114277]} +04:46:43 Conditioning cache hit: 82 effective tokens +04:46:53 DiT step 1/6: 10.589s, 28.05 GiB active +04:47:04 DiT step 2/6: 10.549s, 28.06 GiB active +04:47:15 DiT step 3/6: 10.693s, 28.06 GiB active +04:47:25 DiT step 4/6: 10.658s, 28.06 GiB active +04:47:36 DiT step 5/6: 10.654s, 28.06 GiB active +04:47:47 DiT step 6/6: 10.725s, 28.07 GiB active +04:47:48 VAE tiles 121/121 +04:47:49 Saved outputs/optimization-r3-compact/portrait/control-timed-2.png in 65.950s +{"case": "portrait", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 65.95004508295096, "peak_memory_bytes": 34352488040, "mlx_peak_bytes": 32101359360, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.589294624980539, 10.54889929201454, 10.693320791004226, 10.65848904196173, 10.653912290930748, 10.724682250060141]} +04:47:49 Conditioning cache hit: 82 effective tokens +04:47:59 DiT step 1/6: 10.064s, 28.05 GiB active +04:48:09 DiT step 2/6: 10.163s, 28.06 GiB active +04:48:19 DiT step 3/6: 10.265s, 28.06 GiB active +04:48:29 DiT step 4/6: 10.266s, 28.06 GiB active +04:48:40 DiT step 5/6: 10.194s, 28.06 GiB active +04:48:50 DiT step 6/6: 10.203s, 28.07 GiB active +04:48:52 VAE tiles 121/121 +04:48:52 Saved outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-2.png in 63.257s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": 2, "phase": "timed", "seconds": 63.25747816590592, "peak_memory_bytes": 34164809368, "mlx_peak_bytes": 32103570176, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.064300541998819, 10.16261374996975, 10.265114292036742, 10.26566179189831, 10.19391308305785, 10.203351042000577]} +04:48:53 Conditioning cache hit: 98 effective tokens +04:49:03 DiT step 1/6: 10.587s, 28.05 GiB active +04:49:14 DiT step 2/6: 10.476s, 28.06 GiB active +04:49:24 DiT step 3/6: 10.536s, 28.06 GiB active +04:49:35 DiT step 4/6: 10.609s, 28.06 GiB active +04:49:46 DiT step 5/6: 10.649s, 28.06 GiB active +04:49:56 DiT step 6/6: 10.660s, 28.07 GiB active +04:49:58 VAE tiles 121/121 +04:49:58 Saved outputs/optimization-r3-compact/holdout-detail/control-validation-0.png in 65.621s +{"case": "holdout-detail", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 65.62054104101844, "peak_memory_bytes": 34385337984, "mlx_peak_bytes": 32106749860, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3-compact/holdout-detail/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [10.586685917107388, 10.475943374913186, 10.536071791080758, 10.609299124917015, 10.648755833040923, 10.659710499923676]} +04:49:58 Conditioning cache hit: 98 effective tokens +04:50:08 DiT step 1/6: 10.020s, 28.05 GiB active +04:50:19 DiT step 2/6: 10.222s, 28.06 GiB active +04:50:29 DiT step 3/6: 10.318s, 28.06 GiB active +04:50:39 DiT step 4/6: 10.259s, 28.06 GiB active +04:50:49 DiT step 5/6: 10.214s, 28.06 GiB active +04:51:00 DiT step 6/6: 10.211s, 28.07 GiB active +04:51:01 VAE tiles 121/121 +04:51:01 Saved outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png in 63.362s +{"case": "holdout-detail", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "validation", "seconds": 63.36157112498768, "peak_memory_bytes": 34188549760, "mlx_peak_bytes": 32160499592, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png", "nonfinite_values": 0, "step_seconds": [10.02036679093726, 10.222182292025536, 10.317761083133519, 10.258633374935016, 10.214116165880114, 10.211255375063047]} +04:51:04 Conditioning cache hit: 1093 effective tokens +04:51:06 Encoded edit reference 1/1 +04:51:07 Loading cached native AdaLN schedule cache/adaln-5be858fe25a798948bdcf804.safetensors +04:51:23 DiT step 1/6: 16.044s, 28.09 GiB active +04:51:39 DiT step 2/6: 16.647s, 28.09 GiB active +04:51:56 DiT step 3/6: 16.799s, 28.09 GiB active +04:52:13 DiT step 4/6: 16.808s, 28.10 GiB active +04:52:30 DiT step 5/6: 16.826s, 28.10 GiB active +04:52:46 DiT step 6/6: 16.789s, 28.11 GiB active +04:52:48 VAE tiles 121/121 +04:52:48 Saved outputs/optimization-r3-compact/edit/control-validation-0.png in 104.331s +{"case": "edit", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 104.33122787508182, "peak_memory_bytes": 35134332592, "mlx_peak_bytes": 32584272397, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3-compact/edit/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [16.044049208052456, 16.64705704106018, 16.798973750090227, 16.80766825005412, 16.82632016693242, 16.788526582997292]} +04:52:48 Conditioning cache hit: 1093 effective tokens +04:52:51 Encoded edit reference 1/1 +04:53:06 DiT step 1/6: 15.517s, 28.09 GiB active +04:53:22 DiT step 2/6: 15.886s, 28.09 GiB active +04:53:38 DiT step 3/6: 16.044s, 28.09 GiB active +04:53:54 DiT step 4/6: 16.065s, 28.10 GiB active +04:54:10 DiT step 5/6: 16.003s, 28.10 GiB active +04:54:26 DiT step 6/6: 16.031s, 28.11 GiB active +04:54:28 VAE tiles 121/121 +04:54:28 Saved outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png in 99.790s +{"case": "edit", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "validation", "seconds": 99.78968337504193, "peak_memory_bytes": 34956877512, "mlx_peak_bytes": 32651102713, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png", "nonfinite_values": 0, "step_seconds": [15.517480874899775, 15.885630707954988, 16.043985707918182, 16.065357791027054, 16.00308766681701, 16.0314345411025]} diff --git a/reports/optimization-r3/compact-trace-audit.json b/reports/optimization-r3/compact-trace-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..a268710a244957f58ce3dc4dccb01a1cbc52d2fa --- /dev/null +++ b/reports/optimization-r3/compact-trace-audit.json @@ -0,0 +1,522 @@ +[ + { + "case": "product", + "variant": "control", + "repeat": -1, + "phase": "cold", + "seconds": 66.56290258304216, + "peak_memory_bytes": 32360290864, + "mlx_peak_bytes": 31294559724, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/control-cold--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 11.155969333136454, + 10.091942500090227, + 10.362390333088115, + 10.569547584047541, + 10.826430707937106, + 10.799633791903034 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": -1, + "phase": "warmup", + "seconds": 64.28288616612554, + "peak_memory_bytes": 33057774392, + "mlx_peak_bytes": 32104519860, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.220672250026837, + 10.41268050018698, + 10.374119875021279, + 10.41737558413297, + 10.304355666972697, + 10.378587416838855 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 66.73659237497486, + "peak_memory_bytes": 34106662192, + "mlx_peak_bytes": 32102341812, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.524454500060529, + 10.518413708079606, + 10.792438166914508, + 10.938075749902055, + 10.803379165939987, + 10.852768250042573 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "timed", + "seconds": 64.8621540828608, + "peak_memory_bytes": 33937792328, + "mlx_peak_bytes": 32159138384, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.171907834010199, + 10.420595958130434, + 10.435337207978591, + 10.569814499933273, + 10.503622999880463, + 10.588133125100285 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": 1, + "phase": "timed", + "seconds": 65.30018041608855, + "peak_memory_bytes": 33980079456, + "mlx_peak_bytes": 32119505460, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.622593499952927, + 10.695367791922763, + 10.674400207819417, + 10.561083749867976, + 10.58698095800355, + 10.6969631658867 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 67.69735000003129, + "peak_memory_bytes": 34232442256, + "mlx_peak_bytes": 32102341812, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 11.051171125145629, + 11.139043250121176, + 10.98283537500538, + 10.889101000037044, + 10.829879583092406, + 10.752662291983142 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 2, + "phase": "timed", + "seconds": 66.51806045905687, + "peak_memory_bytes": 34269748624, + "mlx_peak_bytes": 32102341812, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/control-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.491216375026852, + 10.836496958043426, + 10.815235082991421, + 10.784631582908332, + 10.82166066719219, + 10.725950000109151 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": 2, + "phase": "timed", + "seconds": 63.02173458295874, + "peak_memory_bytes": 34089393624, + "mlx_peak_bytes": 32159138472, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.073159834137186, + 10.141389958094805, + 10.191435000160709, + 10.194627792108804, + 10.164645916083828, + 10.1853685840033 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": -1, + "phase": "warmup", + "seconds": 66.68211762490682, + "peak_memory_bytes": 34360909320, + "mlx_peak_bytes": 32101358860, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-compact/portrait/control-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.69750374997966, + 10.77719487505965, + 10.656269041122869, + 10.785387499956414, + 10.852885874919593, + 10.872083165915683 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2-native-norm", + "repeat": -1, + "phase": "warmup", + "seconds": 63.944655042141676, + "peak_memory_bytes": 34187468344, + "mlx_peak_bytes": 32103570176, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.141530999913812, + 10.25759816612117, + 10.529667666880414, + 10.268967832904309, + 10.369134375127032, + 10.359984292183071 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 66.77446975000203, + "peak_memory_bytes": 34397462120, + "mlx_peak_bytes": 32101359360, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-compact/portrait/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.599762792000547, + 10.859696834115312, + 10.841980583034456, + 10.818649291992188, + 10.812689499929547, + 10.815967541886494 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "timed", + "seconds": 63.443048041081056, + "peak_memory_bytes": 34173296232, + "mlx_peak_bytes": 32103570176, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.038613541051745, + 10.278275415999815, + 10.234170750016347, + 10.295444874791428, + 10.20847308402881, + 10.264521708944812 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2-native-norm", + "repeat": 1, + "phase": "timed", + "seconds": 62.976549667073414, + "peak_memory_bytes": 34171510376, + "mlx_peak_bytes": 32103570176, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.948953832965344, + 9.86027512489818, + 10.12343249982223, + 10.28167499997653, + 10.216354915872216, + 10.20913299988024 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + } +] diff --git a/reports/optimization-r3/deployment-audit.log b/reports/optimization-r3/deployment-audit.log new file mode 100644 index 0000000000000000000000000000000000000000..07a4df73abdacf9342d8daa7f656319901539bfd --- /dev/null +++ b/reports/optimization-r3/deployment-audit.log @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3-deployment", + "cases": { + "product": { + "control": { + "samples_s": [ + 68.77809108304791, + 65.85317666619085, + 64.79533495893702 + ], + "median_s": 65.85317666619085, + "min_s": 64.79533495893702, + "max_s": 68.77809108304791, + "peak_physical_bytes": 42928544448, + "peak_mlx_bytes": 40836142612 + }, + "qk-fc2": { + "samples_s": [ + 63.23245245893486, + 62.625355625059456, + 61.922258959151804 + ], + "median_s": 62.625355625059456, + "min_s": 61.922258959151804, + "max_s": 63.23245245893486, + "peak_physical_bytes": 43414117080, + "peak_mlx_bytes": 41177798156 + }, + "reduction_pct": 4.901541891430972 + }, + "portrait": { + "control": { + "samples_s": [ + 64.64417616720311, + 64.91441170801409, + 64.66372808301821 + ], + "median_s": 64.66372808301821, + "min_s": 64.64417616720311, + "max_s": 64.91441170801409, + "peak_physical_bytes": 43071298312, + "peak_mlx_bytes": 40903547416 + }, + "qk-fc2": { + "samples_s": [ + 60.62431841692887, + 61.06283883401193, + 61.68039979180321 + ], + "median_s": 61.06283883401193, + "min_s": 60.62431841692887, + "max_s": 61.68039979180321, + "peak_physical_bytes": 43519646520, + "peak_mlx_bytes": 41179601316 + }, + "reduction_pct": 5.568638486762323 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/deployment-images.log b/reports/optimization-r3/deployment-images.log new file mode 100644 index 0000000000000000000000000000000000000000..0b2f17ab7237674b00594dbf7d8fe7f2caa36cf2 --- /dev/null +++ b/reports/optimization-r3/deployment-images.log @@ -0,0 +1,204 @@ +03:41:31 Conditioning cache hit: 85 effective tokens +03:41:31 Loading cached native AdaLN schedule cache/adaln-4dda935938d45a975c179220.safetensors +03:41:47 DiT step 1/6: 15.460s, 35.95 GiB active +03:41:58 DiT step 2/6: 10.785s, 35.96 GiB active +03:42:09 DiT step 3/6: 11.218s, 35.96 GiB active +03:42:20 DiT step 4/6: 11.185s, 35.96 GiB active +03:42:31 DiT step 5/6: 11.013s, 35.97 GiB active +03:42:42 DiT step 6/6: 11.161s, 35.97 GiB active +03:42:44 VAE tiles 121/121 +03:42:45 Saved outputs/optimization-r3-deployment/product/control-cold--1.png in 73.420s +{"case": "product", "variant": "control", "repeat": -1, "phase": "cold", "seconds": 73.42016170895658, "peak_memory_bytes": 41042515304, "mlx_peak_bytes": 40352740044, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/control-cold--1.png", "nonfinite_values": 0, "step_seconds": [15.459630792029202, 10.785492290975526, 11.217789333080873, 11.185308292042464, 11.012755416100845, 11.16101283300668]} +03:42:45 Conditioning cache hit: 85 effective tokens +03:42:55 DiT step 1/6: 10.349s, 36.71 GiB active +03:43:06 DiT step 2/6: 10.599s, 36.71 GiB active +03:43:16 DiT step 3/6: 10.660s, 36.71 GiB active +03:43:27 DiT step 4/6: 10.695s, 36.72 GiB active +03:43:38 DiT step 5/6: 10.708s, 36.72 GiB active +03:43:49 DiT step 6/6: 10.629s, 36.72 GiB active +03:43:50 VAE tiles 121/121 +03:43:51 Saved outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.png in 65.867s +{"case": "product", "variant": "qk-fc2", "repeat": -1, "phase": "warmup", "seconds": 65.86725029186346, "peak_memory_bytes": 42375206848, "mlx_peak_bytes": 41121027764, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.348964083008468, 10.59941374999471, 10.660093375016004, 10.695137459086254, 10.708188417134807, 10.628758375067264]} +03:43:54 Conditioning cache hit: 85 effective tokens +03:44:04 DiT step 1/6: 10.516s, 36.71 GiB active +03:44:15 DiT step 2/6: 11.313s, 36.71 GiB active +03:44:27 DiT step 3/6: 11.170s, 36.71 GiB active +03:44:38 DiT step 4/6: 11.173s, 36.72 GiB active +03:44:49 DiT step 5/6: 11.155s, 36.72 GiB active +03:45:00 DiT step 6/6: 11.049s, 36.72 GiB active +03:45:02 VAE tiles 121/121 +03:45:02 Saved outputs/optimization-r3-deployment/product/control-timed-0.png in 68.778s +{"case": "product", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 68.77809108304791, "peak_memory_bytes": 42843920992, "mlx_peak_bytes": 40836142612, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.51596958306618, 11.313274249900132, 11.170203125104308, 11.17257241695188, 11.15542795881629, 11.049065208993852]} +03:45:02 Conditioning cache hit: 85 effective tokens +03:45:12 DiT step 1/6: 10.126s, 36.71 GiB active +03:45:23 DiT step 2/6: 10.258s, 36.71 GiB active +03:45:33 DiT step 3/6: 10.318s, 36.71 GiB active +03:45:43 DiT step 4/6: 10.245s, 36.71 GiB active +03:45:53 DiT step 5/6: 10.107s, 36.72 GiB active +03:46:03 DiT step 6/6: 10.030s, 36.72 GiB active +03:46:05 VAE tiles 121/121 +03:46:05 Saved outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png in 63.232s +{"case": "product", "variant": "qk-fc2", "repeat": 0, "phase": "timed", "seconds": 63.23245245893486, "peak_memory_bytes": 43257453152, "mlx_peak_bytes": 41171441196, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.12600183300674, 10.25785204092972, 10.31819008407183, 10.244670124957338, 10.107232958078384, 10.029554083012044]} +03:46:08 Conditioning cache hit: 85 effective tokens +03:46:18 DiT step 1/6: 9.108s, 36.71 GiB active +03:46:28 DiT step 2/6: 10.214s, 36.71 GiB active +03:46:38 DiT step 3/6: 10.184s, 36.71 GiB active +03:46:48 DiT step 4/6: 10.160s, 36.71 GiB active +03:46:58 DiT step 5/6: 10.140s, 36.72 GiB active +03:47:08 DiT step 6/6: 10.182s, 36.72 GiB active +03:47:10 VAE tiles 121/121 +03:47:10 Saved outputs/optimization-r3-deployment/product/qk-fc2-timed-1.png in 62.625s +{"case": "product", "variant": "qk-fc2", "repeat": 1, "phase": "timed", "seconds": 62.625355625059456, "peak_memory_bytes": 43304770168, "mlx_peak_bytes": 41121027772, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.10803550016135, 10.214009959017858, 10.184275583131239, 10.159577749902382, 10.139954125043005, 10.18216724996455]} +03:47:10 Conditioning cache hit: 85 effective tokens +03:47:21 DiT step 1/6: 10.631s, 36.71 GiB active +03:47:32 DiT step 2/6: 10.642s, 36.71 GiB active +03:47:43 DiT step 3/6: 10.747s, 36.71 GiB active +03:47:54 DiT step 4/6: 10.966s, 36.72 GiB active +03:48:04 DiT step 5/6: 10.475s, 36.72 GiB active +03:48:14 DiT step 6/6: 10.339s, 36.72 GiB active +03:48:16 VAE tiles 121/121 +03:48:16 Saved outputs/optimization-r3-deployment/product/control-timed-1.png in 65.853s +{"case": "product", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 65.85317666619085, "peak_memory_bytes": 42928544448, "mlx_peak_bytes": 40796608084, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.63060558307916, 10.641592833912, 10.74713350017555, 10.96550845890306, 10.4751707080286, 10.339393000118434]} +03:48:17 Conditioning cache hit: 85 effective tokens +03:48:27 DiT step 1/6: 10.116s, 36.71 GiB active +03:48:38 DiT step 2/6: 10.396s, 36.71 GiB active +03:48:48 DiT step 3/6: 10.450s, 36.71 GiB active +03:48:59 DiT step 4/6: 10.590s, 36.71 GiB active +03:49:09 DiT step 5/6: 10.539s, 36.72 GiB active +03:49:20 DiT step 6/6: 10.645s, 36.72 GiB active +03:49:22 VAE tiles 121/121 +03:49:22 Saved outputs/optimization-r3-deployment/product/control-timed-2.png in 64.795s +{"case": "product", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 64.79533495893702, "peak_memory_bytes": 42819443440, "mlx_peak_bytes": 40826607164, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.115730124991387, 10.395829000044614, 10.450229041976854, 10.589849167037755, 10.53937704092823, 10.645488375099376]} +03:49:22 Conditioning cache hit: 85 effective tokens +03:49:32 DiT step 1/6: 9.674s, 36.71 GiB active +03:49:42 DiT step 2/6: 9.989s, 36.71 GiB active +03:49:52 DiT step 3/6: 9.941s, 36.71 GiB active +03:50:02 DiT step 4/6: 10.328s, 36.71 GiB active +03:50:12 DiT step 5/6: 9.996s, 36.72 GiB active +03:50:22 DiT step 6/6: 9.889s, 36.72 GiB active +03:50:23 VAE tiles 121/121 +03:50:24 Saved outputs/optimization-r3-deployment/product/qk-fc2-timed-2.png in 61.922s +{"case": "product", "variant": "qk-fc2", "repeat": 2, "phase": "timed", "seconds": 61.922258959151804, "peak_memory_bytes": 43414117080, "mlx_peak_bytes": 41177798156, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-2.png", "nonfinite_values": 0, "step_seconds": [9.673605000134557, 9.988852082984522, 9.940544875105843, 10.32847441593185, 9.995755833107978, 9.889043750008568]} +03:50:24 Conditioning cache hit: 82 effective tokens +03:50:35 DiT step 1/6: 10.223s, 36.71 GiB active +03:50:46 DiT step 2/6: 10.746s, 36.71 GiB active +03:50:56 DiT step 3/6: 10.422s, 36.71 GiB active +03:51:06 DiT step 4/6: 10.445s, 36.71 GiB active +03:51:17 DiT step 5/6: 10.489s, 36.72 GiB active +03:51:27 DiT step 6/6: 10.591s, 36.72 GiB active +03:51:29 VAE tiles 121/121 +03:51:29 Saved outputs/optimization-r3-deployment/portrait/control-warmup--1.png in 65.022s +{"case": "portrait", "variant": "control", "repeat": -1, "phase": "warmup", "seconds": 65.02161391708069, "peak_memory_bytes": 43045591840, "mlx_peak_bytes": 40760121108, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/control-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.223438958171755, 10.746248750016093, 10.422004875028506, 10.444954250007868, 10.489227459067479, 10.591024375054985]} +03:51:29 Conditioning cache hit: 82 effective tokens +03:51:39 DiT step 1/6: 9.659s, 36.71 GiB active +03:51:49 DiT step 2/6: 9.834s, 36.71 GiB active +03:51:59 DiT step 3/6: 9.865s, 36.71 GiB active +03:52:09 DiT step 4/6: 9.875s, 36.72 GiB active +03:52:19 DiT step 5/6: 9.902s, 36.72 GiB active +03:52:29 DiT step 6/6: 9.898s, 36.72 GiB active +03:52:30 VAE tiles 121/121 +03:52:30 Saved outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.png in 61.093s +{"case": "portrait", "variant": "qk-fc2", "repeat": -1, "phase": "warmup", "seconds": 61.0925478329882, "peak_memory_bytes": 43499969312, "mlx_peak_bytes": 41119701556, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.png", "nonfinite_values": 0, "step_seconds": [9.659394290996715, 9.83391104103066, 9.865367457969114, 9.875216708052903, 9.90178812504746, 9.89776345808059]} +03:52:31 Conditioning cache hit: 82 effective tokens +03:52:41 DiT step 1/6: 10.344s, 36.71 GiB active +03:52:52 DiT step 2/6: 10.484s, 36.71 GiB active +03:53:02 DiT step 3/6: 10.493s, 36.71 GiB active +03:53:12 DiT step 4/6: 10.495s, 36.72 GiB active +03:53:23 DiT step 5/6: 10.361s, 36.72 GiB active +03:53:33 DiT step 6/6: 10.399s, 36.72 GiB active +03:53:35 VAE tiles 121/121 +03:53:35 Saved outputs/optimization-r3-deployment/portrait/control-timed-0.png in 64.644s +{"case": "portrait", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 64.64417616720311, "peak_memory_bytes": 43071298312, "mlx_peak_bytes": 40760121908, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.343989124987274, 10.484140957938507, 10.492746208095923, 10.494633583119139, 10.36117170797661, 10.398765416117385]} +03:53:35 Conditioning cache hit: 82 effective tokens +03:53:45 DiT step 1/6: 9.701s, 36.71 GiB active +03:53:55 DiT step 2/6: 9.965s, 36.71 GiB active +03:54:05 DiT step 3/6: 9.679s, 36.71 GiB active +03:54:14 DiT step 4/6: 9.775s, 36.72 GiB active +03:54:24 DiT step 5/6: 9.723s, 36.72 GiB active +03:54:34 DiT step 6/6: 9.726s, 36.72 GiB active +03:54:36 VAE tiles 121/121 +03:54:36 Saved outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png in 60.624s +{"case": "portrait", "variant": "qk-fc2", "repeat": 0, "phase": "timed", "seconds": 60.62431841692887, "peak_memory_bytes": 43481553720, "mlx_peak_bytes": 41179601316, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png", "nonfinite_values": 0, "step_seconds": [9.701315457932651, 9.964592250064015, 9.679471249924973, 9.77542870794423, 9.722767374943942, 9.726279291789979]} +03:54:39 Conditioning cache hit: 82 effective tokens +03:54:48 DiT step 1/6: 9.074s, 36.71 GiB active +03:54:58 DiT step 2/6: 9.681s, 36.71 GiB active +03:55:08 DiT step 3/6: 9.897s, 36.71 GiB active +03:55:17 DiT step 4/6: 9.907s, 36.72 GiB active +03:55:27 DiT step 5/6: 9.963s, 36.72 GiB active +03:55:37 DiT step 6/6: 9.991s, 36.72 GiB active +03:55:39 VAE tiles 121/121 +03:55:39 Saved outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.png in 61.063s +{"case": "portrait", "variant": "qk-fc2", "repeat": 1, "phase": "timed", "seconds": 61.06283883401193, "peak_memory_bytes": 43519646520, "mlx_peak_bytes": 41119701556, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.073689167154953, 9.6807163329795, 9.89693420799449, 9.90687695890665, 9.962622791994363, 9.991009167162701]} +03:55:39 Conditioning cache hit: 82 effective tokens +03:55:50 DiT step 1/6: 10.558s, 36.71 GiB active +03:56:01 DiT step 2/6: 10.542s, 36.71 GiB active +03:56:11 DiT step 3/6: 10.432s, 36.71 GiB active +03:56:21 DiT step 4/6: 10.453s, 36.72 GiB active +03:56:32 DiT step 5/6: 10.422s, 36.72 GiB active +03:56:42 DiT step 6/6: 10.459s, 36.72 GiB active +03:56:44 VAE tiles 121/121 +03:56:44 Saved outputs/optimization-r3-deployment/portrait/control-timed-1.png in 64.914s +{"case": "portrait", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 64.91441170801409, "peak_memory_bytes": 42932624232, "mlx_peak_bytes": 40835029428, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.558383875060827, 10.542425042018294, 10.432395208859816, 10.452659833012149, 10.422242624917999, 10.458984000142664]} +03:56:45 Conditioning cache hit: 82 effective tokens +03:56:55 DiT step 1/6: 10.113s, 36.71 GiB active +03:57:06 DiT step 2/6: 10.445s, 36.71 GiB active +03:57:16 DiT step 3/6: 10.440s, 36.71 GiB active +03:57:27 DiT step 4/6: 10.410s, 36.72 GiB active +03:57:37 DiT step 5/6: 10.557s, 36.72 GiB active +03:57:48 DiT step 6/6: 10.623s, 36.72 GiB active +03:57:49 VAE tiles 121/121 +03:57:50 Saved outputs/optimization-r3-deployment/portrait/control-timed-2.png in 64.664s +{"case": "portrait", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 64.66372808301821, "peak_memory_bytes": 43044674408, "mlx_peak_bytes": 40903547416, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.112921707797796, 10.445210125064477, 10.440206999890506, 10.410174916032702, 10.556556208990514, 10.62265295884572]} +03:57:50 Conditioning cache hit: 82 effective tokens +03:58:00 DiT step 1/6: 9.737s, 36.71 GiB active +03:58:09 DiT step 2/6: 9.856s, 36.71 GiB active +03:58:19 DiT step 3/6: 9.974s, 36.71 GiB active +03:58:29 DiT step 4/6: 9.926s, 36.72 GiB active +03:58:39 DiT step 5/6: 10.001s, 36.72 GiB active +03:58:49 DiT step 6/6: 10.100s, 36.72 GiB active +03:58:51 VAE tiles 121/121 +03:58:51 Saved outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.png in 61.680s +{"case": "portrait", "variant": "qk-fc2", "repeat": 2, "phase": "timed", "seconds": 61.68039979180321, "peak_memory_bytes": 43479440208, "mlx_peak_bytes": 41119701556, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.png", "nonfinite_values": 0, "step_seconds": [9.73736875015311, 9.856456334004179, 9.973663166165352, 9.926210709149018, 10.001038458198309, 10.09989216690883]} +03:58:52 Conditioning cache hit: 98 effective tokens +03:59:03 DiT step 1/6: 10.426s, 36.71 GiB active +03:59:13 DiT step 2/6: 10.772s, 36.71 GiB active +03:59:24 DiT step 3/6: 10.620s, 36.71 GiB active +03:59:35 DiT step 4/6: 10.630s, 36.72 GiB active +03:59:46 DiT step 5/6: 10.931s, 36.72 GiB active +03:59:56 DiT step 6/6: 10.638s, 36.72 GiB active +03:59:58 VAE tiles 121/121 +03:59:58 Saved outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png in 66.156s +{"case": "holdout-detail", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 66.1562814170029, "peak_memory_bytes": 42931149672, "mlx_peak_bytes": 40765758168, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [10.42564162495546, 10.77243841602467, 10.619838000042364, 10.630091832950711, 10.930967458989471, 10.638426082907245]} +03:59:58 Conditioning cache hit: 98 effective tokens +04:00:08 DiT step 1/6: 9.876s, 36.71 GiB active +04:00:18 DiT step 2/6: 9.873s, 36.71 GiB active +04:00:28 DiT step 3/6: 9.758s, 36.71 GiB active +04:00:38 DiT step 4/6: 9.660s, 36.72 GiB active +04:00:47 DiT step 5/6: 9.705s, 36.72 GiB active +04:00:57 DiT step 6/6: 9.690s, 36.72 GiB active +04:00:59 VAE tiles 121/121 +04:00:59 Saved outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.png in 60.607s +{"case": "holdout-detail", "variant": "qk-fc2", "repeat": 0, "phase": "validation", "seconds": 60.60736404103227, "peak_memory_bytes": 43498593128, "mlx_peak_bytes": 41126698488, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.png", "nonfinite_values": 0, "step_seconds": [9.876321790972725, 9.873472125036642, 9.758229917148128, 9.659938625060022, 9.70524508296512, 9.690499417018145]} +04:01:02 Conditioning cache hit: 1093 effective tokens +04:01:04 Encoded edit reference 1/1 +04:01:04 Loading cached native AdaLN schedule cache/adaln-5be858fe25a798948bdcf804.safetensors +04:01:20 DiT step 1/6: 16.496s, 36.74 GiB active +04:01:38 DiT step 2/6: 17.588s, 36.74 GiB active +04:01:55 DiT step 3/6: 17.459s, 36.75 GiB active +04:02:13 DiT step 4/6: 17.596s, 36.75 GiB active +04:02:31 DiT step 5/6: 17.776s, 36.75 GiB active +04:02:49 DiT step 6/6: 17.985s, 36.76 GiB active +04:02:51 VAE tiles 121/121 +04:02:51 Saved outputs/optimization-r3-deployment/edit/control-validation-0.png in 109.374s +{"case": "edit", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 109.37410999997519, "peak_memory_bytes": 43745631224, "mlx_peak_bytes": 41370480060, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3-deployment/edit/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [16.496046874905005, 17.588394791819155, 17.459331332938746, 17.59560624998994, 17.775859917048365, 17.98469966603443]} +04:02:51 Conditioning cache hit: 1093 effective tokens +04:02:53 Encoded edit reference 1/1 +04:03:09 DiT step 1/6: 15.780s, 36.74 GiB active +04:03:25 DiT step 2/6: 16.242s, 36.74 GiB active +04:03:41 DiT step 3/6: 16.135s, 36.75 GiB active +04:03:57 DiT step 4/6: 16.180s, 36.75 GiB active +04:04:14 DiT step 5/6: 16.379s, 36.76 GiB active +04:04:30 DiT step 6/6: 16.147s, 36.76 GiB active +04:04:31 VAE tiles 121/121 +04:04:32 Saved outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.png in 100.892s +{"case": "edit", "variant": "qk-fc2", "repeat": 0, "phase": "validation", "seconds": 100.89215162489563, "peak_memory_bytes": 43556281384, "mlx_peak_bytes": 41539767185, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.png", "nonfinite_values": 0, "step_seconds": [15.780252208001912, 16.24150708410889, 16.135149333858863, 16.180468250066042, 16.37875320808962, 16.147045334102586]} diff --git a/reports/optimization-r3/deployment-trace-audit.json b/reports/optimization-r3/deployment-trace-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..52bd3d8fb319a340b8adec724a55cc2bec5b87e6 --- /dev/null +++ b/reports/optimization-r3/deployment-trace-audit.json @@ -0,0 +1,682 @@ +[ + { + "case": "product", + "variant": "control", + "repeat": -1, + "phase": "cold", + "seconds": 73.42016170895658, + "peak_memory_bytes": 41042515304, + "mlx_peak_bytes": 40352740044, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/control-cold--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 15.459630792029202, + 10.785492290975526, + 11.217789333080873, + 11.185308292042464, + 11.012755416100845, + 11.16101283300668 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": -1, + "phase": "warmup", + "seconds": 65.86725029186346, + "peak_memory_bytes": 42375206848, + "mlx_peak_bytes": 41121027764, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.348964083008468, + 10.59941374999471, + 10.660093375016004, + 10.695137459086254, + 10.708188417134807, + 10.628758375067264 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 68.77809108304791, + "peak_memory_bytes": 42843920992, + "mlx_peak_bytes": 40836142612, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.51596958306618, + 11.313274249900132, + 11.170203125104308, + 11.17257241695188, + 11.15542795881629, + 11.049065208993852 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": 0, + "phase": "timed", + "seconds": 63.23245245893486, + "peak_memory_bytes": 43257453152, + "mlx_peak_bytes": 41171441196, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.12600183300674, + 10.25785204092972, + 10.31819008407183, + 10.244670124957338, + 10.107232958078384, + 10.029554083012044 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": 1, + "phase": "timed", + "seconds": 62.625355625059456, + "peak_memory_bytes": 43304770168, + "mlx_peak_bytes": 41121027772, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.10803550016135, + 10.214009959017858, + 10.184275583131239, + 10.159577749902382, + 10.139954125043005, + 10.18216724996455 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 65.85317666619085, + "peak_memory_bytes": 42928544448, + "mlx_peak_bytes": 40796608084, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.63060558307916, + 10.641592833912, + 10.74713350017555, + 10.96550845890306, + 10.4751707080286, + 10.339393000118434 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 2, + "phase": "timed", + "seconds": 64.79533495893702, + "peak_memory_bytes": 42819443440, + "mlx_peak_bytes": 40826607164, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/control-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.115730124991387, + 10.395829000044614, + 10.450229041976854, + 10.589849167037755, + 10.53937704092823, + 10.645488375099376 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": 2, + "phase": "timed", + "seconds": 61.922258959151804, + "peak_memory_bytes": 43414117080, + "mlx_peak_bytes": 41177798156, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.673605000134557, + 9.988852082984522, + 9.940544875105843, + 10.32847441593185, + 9.995755833107978, + 9.889043750008568 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": -1, + "phase": "warmup", + "seconds": 65.02161391708069, + "peak_memory_bytes": 43045591840, + "mlx_peak_bytes": 40760121108, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/control-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.223438958171755, + 10.746248750016093, + 10.422004875028506, + 10.444954250007868, + 10.489227459067479, + 10.591024375054985 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": -1, + "phase": "warmup", + "seconds": 61.0925478329882, + "peak_memory_bytes": 43499969312, + "mlx_peak_bytes": 41119701556, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.659394290996715, + 9.83391104103066, + 9.865367457969114, + 9.875216708052903, + 9.90178812504746, + 9.89776345808059 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 64.64417616720311, + "peak_memory_bytes": 43071298312, + "mlx_peak_bytes": 40760121908, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.343989124987274, + 10.484140957938507, + 10.492746208095923, + 10.494633583119139, + 10.36117170797661, + 10.398765416117385 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": 0, + "phase": "timed", + "seconds": 60.62431841692887, + "peak_memory_bytes": 43481553720, + "mlx_peak_bytes": 41179601316, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.701315457932651, + 9.964592250064015, + 9.679471249924973, + 9.77542870794423, + 9.722767374943942, + 9.726279291789979 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": 1, + "phase": "timed", + "seconds": 61.06283883401193, + "peak_memory_bytes": 43519646520, + "mlx_peak_bytes": 41119701556, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.073689167154953, + 9.6807163329795, + 9.89693420799449, + 9.90687695890665, + 9.962622791994363, + 9.991009167162701 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 64.91441170801409, + "peak_memory_bytes": 42932624232, + "mlx_peak_bytes": 40835029428, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.558383875060827, + 10.542425042018294, + 10.432395208859816, + 10.452659833012149, + 10.422242624917999, + 10.458984000142664 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 2, + "phase": "timed", + "seconds": 64.66372808301821, + "peak_memory_bytes": 43044674408, + "mlx_peak_bytes": 40903547416, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/control-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.112921707797796, + 10.445210125064477, + 10.440206999890506, + 10.410174916032702, + 10.556556208990514, + 10.62265295884572 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": 2, + "phase": "timed", + "seconds": 61.68039979180321, + "peak_memory_bytes": 43479440208, + "mlx_peak_bytes": 41119701556, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.73736875015311, + 9.856456334004179, + 9.973663166165352, + 9.926210709149018, + 10.001038458198309, + 10.09989216690883 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "holdout-detail", + "variant": "control", + "repeat": 0, + "phase": "validation", + "seconds": 66.1562814170029, + "peak_memory_bytes": 42931149672, + "mlx_peak_bytes": 40765758168, + "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", + "output": "outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.42564162495546, + 10.77243841602467, + 10.619838000042364, + 10.630091832950711, + 10.930967458989471, + 10.638426082907245 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "4ee5ce78b589f7640cc0e93d646bc22f9f38c38848daaf13d28961f37ae96cba", + "initial_rows": "45156c5a71ba42b17851ab8ecd0e06b0dacfa27b1b6bbe52be4f067c1e38f1a1", + "latent": "941d42b77cfdfb7b59f1de458c69a88d535414b78e66e58fe0186ae2e50492fc", + "rows.0": "56107a5d831cc47ddbbc159806a33b2474cc220c53da13b073f6a4a91c06cefb", + "rows.1": "9cf2f13dfa18e69a5411c5077e530e35e6cc350625d71ecf15acc52b4106ac8c", + "rows.2": "3164b758b03f303505b1d679c9bf2ac0160edcebf41210af73865f1d8b2e7597", + "rows.3": "c10ae550dff5d49d31a58c8776d124fe56c8293a17692826fa5c617bb60170a1", + "rows.4": "97951cefe767619e288603eea271a4d0a6d2ce5ed60dd3f5878faad1763936a5", + "rows.5": "10198b8c0ebc63d8c6e14785a7e8ab458faa003b207e6b13b943e4e6c381e690", + "text_tags": "aca0a0c7b72582b17a022940751572c1bcfa722eb6a04a418eff5b1f7f90da75", + "velocity.0": "95a5154d190417b278bfc07af09f55c3383d57a210329f068796d1e5d46c452a", + "velocity.1": "9f3eea3e90dae096cd5831963cbc9f2063c3f7991f2b5512c1a93d68a05d553b", + "velocity.2": "6e1034636da000e61e631167978241a9f917146b0e23f0ebb90f4e230e8a8bb7", + "velocity.3": "ce37371eff6133d39f476f3173305f9622e4f394de3b49751a582571b196f9d2", + "velocity.4": "996e0058cbb53968527f80d58227d8cd8ee61acb009408aea9274b391962500d", + "velocity.5": "8c5b7e57c074846e806e61c3f8ef0e2ddfa36b72838e74cc9e5c12c294160fc5" + } + } +] diff --git a/reports/optimization-r3/deployment/comparison.json b/reports/optimization-r3/deployment/comparison.json new file mode 100644 index 0000000000000000000000000000000000000000..76b236d7cd7de882608e09a415c9096feb923e13 --- /dev/null +++ b/reports/optimization-r3/deployment/comparison.json @@ -0,0 +1,58 @@ +{ + "schema_version": 1, + "baseline": "r3-deployment-control", + "candidate": "r3-deployment-qk-fc2", + "decision": "no_qualified_improvement", + "quality_pass": true, + "quality_checks": { + "max_abs_error": true, + "nonfinite_values": true + }, + "feasible": false, + "objective": "latency", + "latency_reduction_pct": 5.23567719335637, + "speedup": 1.0552494550511293, + "peak_memory_reduction_pct": -1.040944261192811, + "latency_range_screen_pass": true, + "baseline_summary": { + "cases": { + "product": { + "median_seconds": 65.85317666619085, + "min_seconds": 64.79533495893702, + "max_seconds": 68.77809108304791, + "repeats": 3, + "max_peak_memory_bytes": 42928544448 + }, + "portrait": { + "median_seconds": 64.66372808301821, + "min_seconds": 64.64417616720311, + "max_seconds": 64.91441170801409, + "repeats": 3, + "max_peak_memory_bytes": 43071298312 + } + }, + "geomean_seconds": 65.25574234767025, + "max_peak_memory_bytes": 43071298312 + }, + "candidate_summary": { + "cases": { + "product": { + "median_seconds": 62.625355625059456, + "min_seconds": 61.922258959151804, + "max_seconds": 63.23245245893486, + "repeats": 3, + "max_peak_memory_bytes": 43414117080 + }, + "portrait": { + "median_seconds": 61.06283883401193, + "min_seconds": 60.62431841692887, + "max_seconds": 61.68039979180321, + "repeats": 3, + "max_peak_memory_bytes": 43519646520 + } + }, + "geomean_seconds": 61.83916232821788, + "max_peak_memory_bytes": 43519646520 + }, + "scope": "Equal-weight geometric mean of declared timing-case medians; maximum observed memory. Range screen is descriptive, not statistical confidence; no automatic deployment." +} diff --git a/reports/optimization-r3/deployment/control.receipt.json b/reports/optimization-r3/deployment/control.receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..6319ed7798098c717c0b445a26b52dacbe301e4a --- /dev/null +++ b/reports/optimization-r3/deployment/control.receipt.json @@ -0,0 +1,122 @@ +{ + "schema_version": 1, + "id": "r3-deployment-control", + "campaign_id": "h3-m5pro-round-03", + "contract_sha256": "cbd4ce596524b59629216716299ee8677b10f49140de962384153aaaa2e55dec", + "complete": true, + "change_class": "control", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "control", + "code_sha256": "5625a5a38d92a68faf5d27aa72cd66cd0bc50d1794f143075f25db4351df56f9", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "8354e62638cc6104a5d188c26cb42ebc3f9048f222a15254fe9033dc384b902a", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-deployment" + ] + }, + "quality": { + "variant_sha256": "91fbe66f6a9108076fe18e6b1f476a1d6e042834b86218da5b1810e4a26f4284", + "reference_sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 68.77809108304791, + "peak_memory_bytes": 42843920992, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 65.85317666619085, + "peak_memory_bytes": 42928544448, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 64.79533495893702, + "peak_memory_bytes": 42819443440, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 64.64417616720311, + "peak_memory_bytes": 43071298312, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 64.91441170801409, + "peak_memory_bytes": 42932624232, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 64.66372808301821, + "peak_memory_bytes": 43044674408, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-deployment/runs.jsonl", + "sha256": "2e292337bf063e1a3401e06ed913059c00ab55e725370d0cebace78616ec93c7" + }, + { + "path": "outputs/optimization-r3-deployment/source-manifest.json", + "sha256": "5625a5a38d92a68faf5d27aa72cd66cd0bc50d1794f143075f25db4351df56f9" + }, + { + "path": "reports/optimization-r3/deployment/quality-audit.json", + "sha256": "9ca5a230623a6e864905c3eb4415744e5ba316581124124491d1b402de6b2fc7" + }, + { + "path": "reports/optimization-r3/deployment/summary.json", + "sha256": "b5bb2dbed4be970e4dfd1e5100e83bdfc65a817ca91994448da8aa2ef3cefd82" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/reports/optimization-r3/deployment/qk-fc2.receipt.json b/reports/optimization-r3/deployment/qk-fc2.receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..9612379b0bdb1f0700af83d8c152896d2a129ac1 --- /dev/null +++ b/reports/optimization-r3/deployment/qk-fc2.receipt.json @@ -0,0 +1,122 @@ +{ + "schema_version": 1, + "id": "r3-deployment-qk-fc2", + "campaign_id": "h3-m5pro-round-03", + "contract_sha256": "cbd4ce596524b59629216716299ee8677b10f49140de962384153aaaa2e55dec", + "complete": true, + "change_class": "exact", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "qk-fc2", + "code_sha256": "5625a5a38d92a68faf5d27aa72cd66cd0bc50d1794f143075f25db4351df56f9", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "67e3bdbea1548368f1b74aff5b6c8aceb2d6adc89a9eb67dff5b1f5ee74cda5a", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-deployment" + ] + }, + "quality": { + "variant_sha256": "c9928d0092f5cbb29791d1ec4c04ce1f9d86c2d3bce5b3a2a9d763b712de5b9f", + "reference_sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 63.23245245893486, + "peak_memory_bytes": 43257453152, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 62.625355625059456, + "peak_memory_bytes": 43304770168, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 61.922258959151804, + "peak_memory_bytes": 43414117080, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 60.62431841692887, + "peak_memory_bytes": 43481553720, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 61.06283883401193, + "peak_memory_bytes": 43519646520, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 61.68039979180321, + "peak_memory_bytes": 43479440208, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-deployment/runs.jsonl", + "sha256": "2e292337bf063e1a3401e06ed913059c00ab55e725370d0cebace78616ec93c7" + }, + { + "path": "outputs/optimization-r3-deployment/source-manifest.json", + "sha256": "5625a5a38d92a68faf5d27aa72cd66cd0bc50d1794f143075f25db4351df56f9" + }, + { + "path": "reports/optimization-r3/deployment/quality-audit.json", + "sha256": "9ca5a230623a6e864905c3eb4415744e5ba316581124124491d1b402de6b2fc7" + }, + { + "path": "reports/optimization-r3/deployment/summary.json", + "sha256": "b5bb2dbed4be970e4dfd1e5100e83bdfc65a817ca91994448da8aa2ef3cefd82" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/reports/optimization-r3/deployment/quality-audit.json b/reports/optimization-r3/deployment/quality-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..08fadf4f873b4b3baaffdd0869e5bd742c56905f --- /dev/null +++ b/reports/optimization-r3/deployment/quality-audit.json @@ -0,0 +1,302 @@ +[ + { + "output": "outputs/optimization-r3-deployment/product/control-cold--1.png", + "case": "product", + "variant": "control", + "phase": "cold", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/qk-fc2-warmup--1.png", + "case": "product", + "variant": "qk-fc2", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/control-timed-0.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png", + "case": "product", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-1.png", + "case": "product", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/control-timed-1.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/control-timed-2.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/product/qk-fc2-timed-2.png", + "case": "product", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/control-warmup--1.png", + "case": "portrait", + "variant": "control", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-warmup--1.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/control-timed-0.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-1.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/control-timed-1.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/control-timed-2.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/portrait/qk-fc2-timed-2.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png", + "case": "holdout-detail", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.png", + "case": "holdout-detail", + "variant": "qk-fc2", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/edit/control-validation-0.png", + "case": "edit", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.png", + "case": "edit", + "variant": "qk-fc2", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + } +] diff --git a/reports/optimization-r3/deployment/summary.json b/reports/optimization-r3/deployment/summary.json new file mode 100644 index 0000000000000000000000000000000000000000..07a4df73abdacf9342d8daa7f656319901539bfd --- /dev/null +++ b/reports/optimization-r3/deployment/summary.json @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3-deployment", + "cases": { + "product": { + "control": { + "samples_s": [ + 68.77809108304791, + 65.85317666619085, + 64.79533495893702 + ], + "median_s": 65.85317666619085, + "min_s": 64.79533495893702, + "max_s": 68.77809108304791, + "peak_physical_bytes": 42928544448, + "peak_mlx_bytes": 40836142612 + }, + "qk-fc2": { + "samples_s": [ + 63.23245245893486, + 62.625355625059456, + 61.922258959151804 + ], + "median_s": 62.625355625059456, + "min_s": 61.922258959151804, + "max_s": 63.23245245893486, + "peak_physical_bytes": 43414117080, + "peak_mlx_bytes": 41177798156 + }, + "reduction_pct": 4.901541891430972 + }, + "portrait": { + "control": { + "samples_s": [ + 64.64417616720311, + 64.91441170801409, + 64.66372808301821 + ], + "median_s": 64.66372808301821, + "min_s": 64.64417616720311, + "max_s": 64.91441170801409, + "peak_physical_bytes": 43071298312, + "peak_mlx_bytes": 40903547416 + }, + "qk-fc2": { + "samples_s": [ + 60.62431841692887, + 61.06283883401193, + 61.68039979180321 + ], + "median_s": 61.06283883401193, + "min_s": 60.62431841692887, + "max_s": 61.68039979180321, + "peak_physical_bytes": 43519646520, + "peak_mlx_bytes": 41179601316 + }, + "reduction_pct": 5.568638486762323 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/embedding-campaign.log b/reports/optimization-r3/embedding-campaign.log new file mode 100644 index 0000000000000000000000000000000000000000..882710451e0a6edc9ead153b6fa9270030d95e9f --- /dev/null +++ b/reports/optimization-r3/embedding-campaign.log @@ -0,0 +1,26 @@ +{ + "all_bits_identical": true, + "scope": "Embedding read and gather only, fresh processes, page cache prepared. Not a complete encoder or generation speedup.", + "variants": { + "full": { + "samples_s": [ + 0.10779520799405873, + 0.10787329101003706, + 0.10731062502600253 + ], + "median_s": 0.10779520799405873, + "peak_physical_bytes": 1635845968, + "peak_mlx_bytes": 1556726112 + }, + "rows": { + "samples_s": [ + 0.0038837501779198647, + 0.004945333115756512, + 0.005294707836583257 + ], + "median_s": 0.004945333115756512, + "peak_physical_bytes": 32211640, + "peak_mlx_bytes": 901120 + } + } +} diff --git a/reports/optimization-r3/embedding-tests.log b/reports/optimization-r3/embedding-tests.log new file mode 100644 index 0000000000000000000000000000000000000000..f8c7546d629387e85371aa4eb61141528fe0c60d --- /dev/null +++ b/reports/optimization-r3/embedding-tests.log @@ -0,0 +1,2 @@ +.... [100%] +4 passed in 0.25s diff --git a/reports/optimization-r3/embedding/full-prepare-page-cache--1.json b/reports/optimization-r3/embedding/full-prepare-page-cache--1.json new file mode 100644 index 0000000000000000000000000000000000000000..af5c54e77d37c1ba7c907795237e22d568c4678d --- /dev/null +++ b/reports/optimization-r3/embedding/full-prepare-page-cache--1.json @@ -0,0 +1,58 @@ +{ + "mode": "full", + "seconds": 0.25372037501074374, + "physical": { + "sampled_peak_physical_bytes": 1636009808, + "lifetime_peak_physical_bytes": 1636009808, + "sample_interval_s": 0.001, + "sample_count": 172, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 1556726112, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.3531467500142753, + "repeat": -1, + "phase": "prepare-page-cache", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "full", + "--output", + "reports/optimization-r3/embedding/full-prepare-page-cache--1.json" + ] +} diff --git a/reports/optimization-r3/embedding/full-prepare-page-cache--1.log b/reports/optimization-r3/embedding/full-prepare-page-cache--1.log new file mode 100644 index 0000000000000000000000000000000000000000..d0bbfd9bde29025eaf946e8c56b10c662f64a21b --- /dev/null +++ b/reports/optimization-r3/embedding/full-prepare-page-cache--1.log @@ -0,0 +1 @@ +{"mode": "full", "seconds": 0.25372037501074374, "physical": {"sampled_peak_physical_bytes": 1636009808, "lifetime_peak_physical_bytes": 1636009808, "sample_interval_s": 0.001, "sample_count": 172, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 1556726112, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/full-timed-0.json b/reports/optimization-r3/embedding/full-timed-0.json new file mode 100644 index 0000000000000000000000000000000000000000..bc366884f1ff38cbdbc114a6d1f6293ad658ec05 --- /dev/null +++ b/reports/optimization-r3/embedding/full-timed-0.json @@ -0,0 +1,58 @@ +{ + "mode": "full", + "seconds": 0.10779520799405873, + "physical": { + "sampled_peak_physical_bytes": 1635764000, + "lifetime_peak_physical_bytes": 1635764000, + "sample_interval_s": 0.001, + "sample_count": 72, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 1556726112, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.2044427499640733, + "repeat": 0, + "phase": "timed", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "full", + "--output", + "reports/optimization-r3/embedding/full-timed-0.json" + ] +} diff --git a/reports/optimization-r3/embedding/full-timed-0.log b/reports/optimization-r3/embedding/full-timed-0.log new file mode 100644 index 0000000000000000000000000000000000000000..eeb300fb4bc03739006557c239aadd09322db64e --- /dev/null +++ b/reports/optimization-r3/embedding/full-timed-0.log @@ -0,0 +1 @@ +{"mode": "full", "seconds": 0.10779520799405873, "physical": {"sampled_peak_physical_bytes": 1635764000, "lifetime_peak_physical_bytes": 1635764000, "sample_interval_s": 0.001, "sample_count": 72, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 1556726112, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/full-timed-1.json b/reports/optimization-r3/embedding/full-timed-1.json new file mode 100644 index 0000000000000000000000000000000000000000..845ff5e937061031e9d956036b5514a4fe005b8e --- /dev/null +++ b/reports/optimization-r3/embedding/full-timed-1.json @@ -0,0 +1,58 @@ +{ + "mode": "full", + "seconds": 0.10787329101003706, + "physical": { + "sampled_peak_physical_bytes": 1635731232, + "lifetime_peak_physical_bytes": 1635731232, + "sample_interval_s": 0.001, + "sample_count": 71, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 1556726112, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.20390770817175508, + "repeat": 1, + "phase": "timed", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "full", + "--output", + "reports/optimization-r3/embedding/full-timed-1.json" + ] +} diff --git a/reports/optimization-r3/embedding/full-timed-1.log b/reports/optimization-r3/embedding/full-timed-1.log new file mode 100644 index 0000000000000000000000000000000000000000..732a18a3ed78570575c45a048162c8e122004878 --- /dev/null +++ b/reports/optimization-r3/embedding/full-timed-1.log @@ -0,0 +1 @@ +{"mode": "full", "seconds": 0.10787329101003706, "physical": {"sampled_peak_physical_bytes": 1635731232, "lifetime_peak_physical_bytes": 1635731232, "sample_interval_s": 0.001, "sample_count": 71, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 1556726112, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/full-timed-2.json b/reports/optimization-r3/embedding/full-timed-2.json new file mode 100644 index 0000000000000000000000000000000000000000..76872e374aa97966898b125d5a4a5bdf8d25a569 --- /dev/null +++ b/reports/optimization-r3/embedding/full-timed-2.json @@ -0,0 +1,58 @@ +{ + "mode": "full", + "seconds": 0.10731062502600253, + "physical": { + "sampled_peak_physical_bytes": 1635845968, + "lifetime_peak_physical_bytes": 1635878736, + "sample_interval_s": 0.001, + "sample_count": 71, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 1556726112, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.20484258304350078, + "repeat": 2, + "phase": "timed", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "full", + "--output", + "reports/optimization-r3/embedding/full-timed-2.json" + ] +} diff --git a/reports/optimization-r3/embedding/full-timed-2.log b/reports/optimization-r3/embedding/full-timed-2.log new file mode 100644 index 0000000000000000000000000000000000000000..40a01aa852367e7c928fa6b67b5e3af86107d545 --- /dev/null +++ b/reports/optimization-r3/embedding/full-timed-2.log @@ -0,0 +1 @@ +{"mode": "full", "seconds": 0.10731062502600253, "physical": {"sampled_peak_physical_bytes": 1635845968, "lifetime_peak_physical_bytes": 1635878736, "sample_interval_s": 0.001, "sample_count": 71, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 1556726112, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/rows-timed-0.json b/reports/optimization-r3/embedding/rows-timed-0.json new file mode 100644 index 0000000000000000000000000000000000000000..119d0f9073cce36f79d4b708752936a3910a5820 --- /dev/null +++ b/reports/optimization-r3/embedding/rows-timed-0.json @@ -0,0 +1,58 @@ +{ + "mode": "rows", + "seconds": 0.0038837501779198647, + "physical": { + "sampled_peak_physical_bytes": 32178872, + "lifetime_peak_physical_bytes": 32178872, + "sample_interval_s": 0.001, + "sample_count": 3, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 901120, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.0941844170447439, + "repeat": 0, + "phase": "timed", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "rows", + "--output", + "reports/optimization-r3/embedding/rows-timed-0.json" + ] +} diff --git a/reports/optimization-r3/embedding/rows-timed-0.log b/reports/optimization-r3/embedding/rows-timed-0.log new file mode 100644 index 0000000000000000000000000000000000000000..dcfcca2e4347536923ae794e8de2880cab301e82 --- /dev/null +++ b/reports/optimization-r3/embedding/rows-timed-0.log @@ -0,0 +1 @@ +{"mode": "rows", "seconds": 0.0038837501779198647, "physical": {"sampled_peak_physical_bytes": 32178872, "lifetime_peak_physical_bytes": 32178872, "sample_interval_s": 0.001, "sample_count": 3, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 901120, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/rows-timed-1.json b/reports/optimization-r3/embedding/rows-timed-1.json new file mode 100644 index 0000000000000000000000000000000000000000..9d20338a66b61f990b17d67ec0e49eb6f702cecd --- /dev/null +++ b/reports/optimization-r3/embedding/rows-timed-1.json @@ -0,0 +1,58 @@ +{ + "mode": "rows", + "seconds": 0.004945333115756512, + "physical": { + "sampled_peak_physical_bytes": 32080568, + "lifetime_peak_physical_bytes": 32080568, + "sample_interval_s": 0.001, + "sample_count": 3, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 901120, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.09497620817273855, + "repeat": 1, + "phase": "timed", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "rows", + "--output", + "reports/optimization-r3/embedding/rows-timed-1.json" + ] +} diff --git a/reports/optimization-r3/embedding/rows-timed-1.log b/reports/optimization-r3/embedding/rows-timed-1.log new file mode 100644 index 0000000000000000000000000000000000000000..1f4c69d8ae0aae9603183d71dd91270379234f6b --- /dev/null +++ b/reports/optimization-r3/embedding/rows-timed-1.log @@ -0,0 +1 @@ +{"mode": "rows", "seconds": 0.004945333115756512, "physical": {"sampled_peak_physical_bytes": 32080568, "lifetime_peak_physical_bytes": 32080568, "sample_interval_s": 0.001, "sample_count": 3, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 901120, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/rows-timed-2.json b/reports/optimization-r3/embedding/rows-timed-2.json new file mode 100644 index 0000000000000000000000000000000000000000..f4dd6f57b0ff55348eb6725d1d25757cd4a33f6b --- /dev/null +++ b/reports/optimization-r3/embedding/rows-timed-2.json @@ -0,0 +1,58 @@ +{ + "mode": "rows", + "seconds": 0.005294707836583257, + "physical": { + "sampled_peak_physical_bytes": 32211640, + "lifetime_peak_physical_bytes": 32244408, + "sample_interval_s": 0.001, + "sample_count": 3, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + }, + "mlx_peak_bytes": 901120, + "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", + "shape": [ + 88, + 5120 + ], + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder.", + "outer_seconds": 0.09905358287505805, + "repeat": 2, + "phase": "timed", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-m", + "experiments.r3.embedding", + "--encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--mode", + "rows", + "--output", + "reports/optimization-r3/embedding/rows-timed-2.json" + ] +} diff --git a/reports/optimization-r3/embedding/rows-timed-2.log b/reports/optimization-r3/embedding/rows-timed-2.log new file mode 100644 index 0000000000000000000000000000000000000000..89b91b3ffe7a2390397f7823d3a8f610b0d658db --- /dev/null +++ b/reports/optimization-r3/embedding/rows-timed-2.log @@ -0,0 +1 @@ +{"mode": "rows", "seconds": 0.005294707836583257, "physical": {"sampled_peak_physical_bytes": 32211640, "lifetime_peak_physical_bytes": 32244408, "sample_interval_s": 0.001, "sample_count": 3, "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum."}, "mlx_peak_bytes": 901120, "output_sha256": "4acd76ed7d093f0a9c07c88a77295f93d7d20199b11a9a932707e321d2afbdbf", "shape": [88, 5120], "environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "scope": "Cold process, page-cache warm tensor read + gather only. Excludes tokenizer and full 50-layer encoder."} diff --git a/reports/optimization-r3/embedding/summary.json b/reports/optimization-r3/embedding/summary.json new file mode 100644 index 0000000000000000000000000000000000000000..882710451e0a6edc9ead153b6fa9270030d95e9f --- /dev/null +++ b/reports/optimization-r3/embedding/summary.json @@ -0,0 +1,26 @@ +{ + "all_bits_identical": true, + "scope": "Embedding read and gather only, fresh processes, page cache prepared. Not a complete encoder or generation speedup.", + "variants": { + "full": { + "samples_s": [ + 0.10779520799405873, + 0.10787329101003706, + 0.10731062502600253 + ], + "median_s": 0.10779520799405873, + "peak_physical_bytes": 1635845968, + "peak_mlx_bytes": 1556726112 + }, + "rows": { + "samples_s": [ + 0.0038837501779198647, + 0.004945333115756512, + 0.005294707836583257 + ], + "median_s": 0.004945333115756512, + "peak_physical_bytes": 32211640, + "peak_mlx_bytes": 901120 + } + } +} diff --git a/reports/optimization-r3/fc1-compile-failure.json b/reports/optimization-r3/fc1-compile-failure.json new file mode 100644 index 0000000000000000000000000000000000000000..e877e18240861bf4ae05c6f838c7eae139ef81f3 --- /dev/null +++ b/reports/optimization-r3/fc1-compile-failure.json @@ -0,0 +1,103 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Real FC1 activations; fused dual GEMM + native precise sigmoid/BF16 boundaries. Compilation excluded, materialization included.", + "trials": [ + { + "tile": [ + 64, + 64, + 128 + ], + "simdgroups": 4, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 64, + 64, + 256 + ], + "simdgroups": 4, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + }, + { + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "error": "RuntimeError: [metal::Device] Unable to build metal library from source\nmlx/backend/metal/kernels/utils.h:565:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:565:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: use of undeclared identifier 'full'; did you mean 'all'?\n #pragma unroll full\n ^~~~\n all\n/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/32023/Libraries/lib/clang/32023/include/metal/metal_relational:734:17: note: 'all' declared here\nMETAL_FUNC bool all(bool x)\n ^\nmlx/backend/metal/kernels/utils.h:575:24: error: invalid argument of type 'bool (bool)'; expected an integer type\n #pragma unroll full\n ^\n\n" + } + ] +} diff --git a/reports/optimization-r3/fc1.json b/reports/optimization-r3/fc1.json new file mode 100644 index 0000000000000000000000000000000000000000..cdb01b3f8b554d38379c8f3931413bf6f622b577 --- /dev/null +++ b/reports/optimization-r3/fc1.json @@ -0,0 +1,511 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Real FC1 activations; fused dual GEMM + native precise sigmoid/BF16 boundaries. Compilation excluded, materialization included.", + "trials": [ + { + "tile": [ + 64, + 64, + 128 + ], + "simdgroups": 4, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.30633283685893, + "min_ms": 53.88062517158687, + "max_ms": 55.719291092827916, + "samples_ms": [ + 55.719291092827916, + 53.958292119205, + 55.07374997250736, + 54.05362509191036, + 54.42695785313845, + 55.30574987642467, + 54.18570782057941, + 53.88062517158687 + ] + }, + "candidate": { + "median_ms": 56.32895801682025, + "min_ms": 55.50845805555582, + "max_ms": 56.85487505979836, + "samples_ms": [ + 56.68666702695191, + 56.48208293132484, + 56.59312498755753, + 56.03404087014496, + 56.85487505979836, + 56.175833102315664, + 56.1213749460876, + 55.50845805555582 + ] + }, + "reduction_pct": -3.7244738768082097 + }, + { + "tile": [ + 64, + 64, + 256 + ], + "simdgroups": 4, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.211645503528416, + "min_ms": 53.07895806618035, + "max_ms": 54.641125025227666, + "samples_ms": [ + 53.07895806618035, + 53.51012502796948, + 53.82495792582631, + 54.23129093833268, + 54.351292084902525, + 54.44195889867842, + 54.192000068724155, + 54.641125025227666 + ] + }, + "candidate": { + "median_ms": 54.6483329962939, + "min_ms": 54.23354101367295, + "max_ms": 55.29358284547925, + "samples_ms": [ + 54.65449998155236, + 54.343624971807, + 54.23354101367295, + 55.09308306500316, + 54.53879199922085, + 55.29358284547925, + 54.64216601103544, + 54.97041717171669 + ] + }, + "reduction_pct": -0.8055234049980431 + }, + { + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.14856213610619, + "min_ms": 53.45358303748071, + "max_ms": 54.465292021632195, + "samples_ms": [ + 53.95558406598866, + 53.55166690424085, + 54.24279114231467, + 54.447249975055456, + 54.395125014707446, + 54.465292021632195, + 54.054333129897714, + 53.45358303748071 + ] + }, + "candidate": { + "median_ms": 56.264353916049004, + "min_ms": 55.47845899127424, + "max_ms": 57.0768341422081, + "samples_ms": [ + 56.573959067463875, + 55.54545810446143, + 57.04212514683604, + 55.47845899127424, + 56.27166596241295, + 57.0768341422081, + 56.188875110819936, + 56.257041869685054 + ] + }, + "reduction_pct": -3.9073831261199787 + }, + { + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.106041439808905, + "min_ms": 53.25645813718438, + "max_ms": 54.419915890321136, + "samples_ms": [ + 53.83545905351639, + 53.25645813718438, + 54.03195787221193, + 54.419915890321136, + 54.00166613981128, + 54.26054215058684, + 54.2540829628706, + 54.18012500740588 + ] + }, + "candidate": { + "median_ms": 54.481583065353334, + "min_ms": 53.830333054065704, + "max_ms": 55.55591708980501, + "samples_ms": [ + 54.57108304835856, + 54.2239579372108, + 53.830333054065704, + 54.371041944250464, + 54.39208308234811, + 55.21841603331268, + 55.55591708980501, + 54.768916917964816 + ] + }, + "reduction_pct": -0.6940844599806928 + }, + { + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.371103993617, + "min_ms": 53.39183402247727, + "max_ms": 54.588541854172945, + "samples_ms": [ + 54.588541854172945, + 54.46012504398823, + 54.064624942839146, + 54.12720795720816, + 54.30083302780986, + 53.39183402247727, + 54.49941707774997, + 54.44137495942414 + ] + }, + "candidate": { + "median_ms": 58.25266649480909, + "min_ms": 57.800541864708066, + "max_ms": 60.04566606134176, + "samples_ms": [ + 57.905124966055155, + 58.879791060462594, + 57.800541864708066, + 58.30283300019801, + 58.202499989420176, + 60.04566606134176, + 58.16129199229181, + 58.51491680368781 + ] + }, + "reduction_pct": -7.1390172648467365 + }, + { + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.36177097726613, + "min_ms": 53.352291928604245, + "max_ms": 54.752874886617064, + "samples_ms": [ + 53.91862499527633, + 54.35912497341633, + 54.45850011892617, + 53.352291928604245, + 54.752874886617064, + 53.97741589695215, + 54.36441698111594, + 54.52037509530783 + ] + }, + "candidate": { + "median_ms": 55.4332920582965, + "min_ms": 53.90954203903675, + "max_ms": 55.774624925106764, + "samples_ms": [ + 55.774624925106764, + 53.90954203903675, + 55.104624945670366, + 55.51516707055271, + 55.3514170460403, + 55.63316703774035, + 54.87812520004809, + 55.63899991102517 + ] + }, + "reduction_pct": -1.9710930342546673 + }, + { + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 53.93291695509106, + "min_ms": 53.539999993517995, + "max_ms": 54.6253330539912, + "samples_ms": [ + 54.0205838624388, + 53.539999993517995, + 53.84525004774332, + 54.28050016053021, + 53.790791891515255, + 54.6253330539912, + 54.07733400352299, + 53.810957819223404 + ] + }, + "candidate": { + "median_ms": 59.239438036456704, + "min_ms": 59.03545906767249, + "max_ms": 61.203999910503626, + "samples_ms": [ + 59.03545906767249, + 59.1114170383662, + 59.29441703483462, + 59.184459038078785, + 61.203999910503626, + 59.11066709086299, + 60.443833004683256, + 59.55045809969306 + ] + }, + "reduction_pct": -9.839113812042255 + }, + { + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 54.6687290770933, + "min_ms": 53.769208025187254, + "max_ms": 55.67850009538233, + "samples_ms": [ + 54.58470806479454, + 53.769208025187254, + 54.445333080366254, + 54.449375020340085, + 54.752750089392066, + 55.09354081004858, + 55.03437505103648, + 55.67850009538233 + ] + }, + "candidate": { + "median_ms": 56.32437497843057, + "min_ms": 54.99091697856784, + "max_ms": 57.51441698521376, + "samples_ms": [ + 54.99091697856784, + 56.50112498551607, + 56.34741601534188, + 55.63233280554414, + 57.322500040754676, + 55.95620907843113, + 57.51441698521376, + 56.30133394151926 + ] + }, + "reduction_pct": -3.0285062947091657 + } + ] +} diff --git a/reports/optimization-r3/fc1.log b/reports/optimization-r3/fc1.log new file mode 100644 index 0000000000000000000000000000000000000000..3e9c2bae1a25c3a8ad520feb303ef049a1bef956 --- /dev/null +++ b/reports/optimization-r3/fc1.log @@ -0,0 +1,8 @@ +{"tile": [64, 64, 128], "simdgroups": 4, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.30633283685893, "min_ms": 53.88062517158687, "max_ms": 55.719291092827916, "samples_ms": [55.719291092827916, 53.958292119205, 55.07374997250736, 54.05362509191036, 54.42695785313845, 55.30574987642467, 54.18570782057941, 53.88062517158687]}, "candidate": {"median_ms": 56.32895801682025, "min_ms": 55.50845805555582, "max_ms": 56.85487505979836, "samples_ms": [56.68666702695191, 56.48208293132484, 56.59312498755753, 56.03404087014496, 56.85487505979836, 56.175833102315664, 56.1213749460876, 55.50845805555582]}, "reduction_pct": -3.7244738768082097} +{"tile": [64, 64, 256], "simdgroups": 4, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.211645503528416, "min_ms": 53.07895806618035, "max_ms": 54.641125025227666, "samples_ms": [53.07895806618035, 53.51012502796948, 53.82495792582631, 54.23129093833268, 54.351292084902525, 54.44195889867842, 54.192000068724155, 54.641125025227666]}, "candidate": {"median_ms": 54.6483329962939, "min_ms": 54.23354101367295, "max_ms": 55.29358284547925, "samples_ms": [54.65449998155236, 54.343624971807, 54.23354101367295, 55.09308306500316, 54.53879199922085, 55.29358284547925, 54.64216601103544, 54.97041717171669]}, "reduction_pct": -0.8055234049980431} +{"tile": [64, 128, 128], "simdgroups": 4, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.14856213610619, "min_ms": 53.45358303748071, "max_ms": 54.465292021632195, "samples_ms": [53.95558406598866, 53.55166690424085, 54.24279114231467, 54.447249975055456, 54.395125014707446, 54.465292021632195, 54.054333129897714, 53.45358303748071]}, "candidate": {"median_ms": 56.264353916049004, "min_ms": 55.47845899127424, "max_ms": 57.0768341422081, "samples_ms": [56.573959067463875, 55.54545810446143, 57.04212514683604, 55.47845899127424, 56.27166596241295, 57.0768341422081, 56.188875110819936, 56.257041869685054]}, "reduction_pct": -3.9073831261199787} +{"tile": [64, 128, 256], "simdgroups": 4, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.106041439808905, "min_ms": 53.25645813718438, "max_ms": 54.419915890321136, "samples_ms": [53.83545905351639, 53.25645813718438, 54.03195787221193, 54.419915890321136, 54.00166613981128, 54.26054215058684, 54.2540829628706, 54.18012500740588]}, "candidate": {"median_ms": 54.481583065353334, "min_ms": 53.830333054065704, "max_ms": 55.55591708980501, "samples_ms": [54.57108304835856, 54.2239579372108, 53.830333054065704, 54.371041944250464, 54.39208308234811, 55.21841603331268, 55.55591708980501, 54.768916917964816]}, "reduction_pct": -0.6940844599806928} +{"tile": [64, 128, 128], "simdgroups": 8, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.371103993617, "min_ms": 53.39183402247727, "max_ms": 54.588541854172945, "samples_ms": [54.588541854172945, 54.46012504398823, 54.064624942839146, 54.12720795720816, 54.30083302780986, 53.39183402247727, 54.49941707774997, 54.44137495942414]}, "candidate": {"median_ms": 58.25266649480909, "min_ms": 57.800541864708066, "max_ms": 60.04566606134176, "samples_ms": [57.905124966055155, 58.879791060462594, 57.800541864708066, 58.30283300019801, 58.202499989420176, 60.04566606134176, 58.16129199229181, 58.51491680368781]}, "reduction_pct": -7.1390172648467365} +{"tile": [64, 128, 256], "simdgroups": 8, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.36177097726613, "min_ms": 53.352291928604245, "max_ms": 54.752874886617064, "samples_ms": [53.91862499527633, 54.35912497341633, 54.45850011892617, 53.352291928604245, 54.752874886617064, 53.97741589695215, 54.36441698111594, 54.52037509530783]}, "candidate": {"median_ms": 55.4332920582965, "min_ms": 53.90954203903675, "max_ms": 55.774624925106764, "samples_ms": [55.774624925106764, 53.90954203903675, 55.104624945670366, 55.51516707055271, 55.3514170460403, 55.63316703774035, 54.87812520004809, 55.63899991102517]}, "reduction_pct": -1.9710930342546673} +{"tile": [128, 128, 128], "simdgroups": 8, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 53.93291695509106, "min_ms": 53.539999993517995, "max_ms": 54.6253330539912, "samples_ms": [54.0205838624388, 53.539999993517995, 53.84525004774332, 54.28050016053021, 53.790791891515255, 54.6253330539912, 54.07733400352299, 53.810957819223404]}, "candidate": {"median_ms": 59.239438036456704, "min_ms": 59.03545906767249, "max_ms": 61.203999910503626, "samples_ms": [59.03545906767249, 59.1114170383662, 59.29441703483462, 59.184459038078785, 61.203999910503626, 59.11066709086299, 60.443833004683256, 59.55045809969306]}, "reduction_pct": -9.839113812042255} +{"tile": [128, 128, 256], "simdgroups": 8, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 54.6687290770933, "min_ms": 53.769208025187254, "max_ms": 55.67850009538233, "samples_ms": [54.58470806479454, 53.769208025187254, 54.445333080366254, 54.449375020340085, 54.752750089392066, 55.09354081004858, 55.03437505103648, 55.67850009538233]}, "candidate": {"median_ms": 56.32437497843057, "min_ms": 54.99091697856784, "max_ms": 57.51441698521376, "samples_ms": [54.99091697856784, 56.50112498551607, 56.34741601534188, 55.63233280554414, 57.322500040754676, 55.95620907843113, 57.51441698521376, 56.30133394151926]}, "reduction_pct": -3.0285062947091657} diff --git a/reports/optimization-r3/images.log b/reports/optimization-r3/images.log new file mode 100644 index 0000000000000000000000000000000000000000..17bb7e0a8aba6da68b1d1f4e468cb34017e715c5 --- /dev/null +++ b/reports/optimization-r3/images.log @@ -0,0 +1,250 @@ +03:04:06 Conditioning cache hit: 85 effective tokens +03:04:06 Loading cached native AdaLN schedule cache/adaln-4dda935938d45a975c179220.safetensors +03:04:22 DiT step 1/6: 15.381s, 35.95 GiB active +03:04:32 DiT step 2/6: 10.495s, 35.96 GiB active +03:04:43 DiT step 3/6: 10.931s, 35.96 GiB active +03:04:54 DiT step 4/6: 10.801s, 35.96 GiB active +03:05:04 DiT step 5/6: 10.701s, 35.97 GiB active +03:05:15 DiT step 6/6: 10.931s, 35.97 GiB active +03:05:18 VAE tiles 121/121 +03:05:18 Saved outputs/optimization-r3/product/control-cold--1.png in 71.881s +{"case": "product", "variant": "control", "repeat": -1, "phase": "cold", "seconds": 71.88108945800923, "peak_memory_bytes": 41023231816, "mlx_peak_bytes": 40352740044, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/control-cold--1.png", "nonfinite_values": 0, "step_seconds": [15.38127875002101, 10.495420958148316, 10.931075125001371, 10.80113216699101, 10.700902125099674, 10.93087162496522]} +03:05:18 Conditioning cache hit: 85 effective tokens +03:05:28 DiT step 1/6: 10.279s, 36.71 GiB active +03:05:39 DiT step 2/6: 10.563s, 36.71 GiB active +03:05:50 DiT step 3/6: 10.621s, 36.71 GiB active +03:06:00 DiT step 4/6: 10.538s, 36.71 GiB active +03:06:11 DiT step 5/6: 10.626s, 36.72 GiB active +03:06:21 DiT step 6/6: 10.609s, 36.72 GiB active +03:06:23 VAE tiles 121/121 +03:06:23 Saved outputs/optimization-r3/product/qk-fc2-warmup--1.png in 65.456s +{"case": "product", "variant": "qk-fc2", "repeat": -1, "phase": "warmup", "seconds": 65.45604600012302, "peak_memory_bytes": 41405339560, "mlx_peak_bytes": 40731251916, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/qk-fc2-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.27856070897542, 10.562935125082731, 10.621015165932477, 10.538033208111301, 10.62600470916368, 10.609485917026177]} +03:06:26 Conditioning cache hit: 85 effective tokens +03:06:37 DiT step 1/6: 10.232s, 36.71 GiB active +03:06:48 DiT step 2/6: 11.155s, 36.71 GiB active +03:06:59 DiT step 3/6: 11.182s, 36.71 GiB active +03:07:10 DiT step 4/6: 11.191s, 36.72 GiB active +03:07:22 DiT step 5/6: 11.266s, 36.72 GiB active +03:07:33 DiT step 6/6: 11.148s, 36.72 GiB active +03:07:34 VAE tiles 121/121 +03:07:35 Saved outputs/optimization-r3/product/control-timed-0.png in 68.599s +{"case": "product", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 68.59933650004677, "peak_memory_bytes": 42686339608, "mlx_peak_bytes": 40836142240, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.232307167025283, 11.155369125073776, 11.181794625008479, 11.19105491694063, 11.266168375033885, 11.14753987500444]} +03:07:35 Conditioning cache hit: 85 effective tokens +03:07:45 DiT step 1/6: 10.573s, 36.71 GiB active +03:07:56 DiT step 2/6: 10.765s, 36.71 GiB active +03:08:07 DiT step 3/6: 10.744s, 36.71 GiB active +03:08:18 DiT step 4/6: 10.554s, 36.72 GiB active +03:08:28 DiT step 5/6: 10.528s, 36.72 GiB active +03:08:39 DiT step 6/6: 10.615s, 36.72 GiB active +03:08:40 VAE tiles 121/121 +03:08:41 Saved outputs/optimization-r3/product/qk-fc2-timed-0.png in 65.933s +{"case": "product", "variant": "qk-fc2", "repeat": 0, "phase": "timed", "seconds": 65.93319679214619, "peak_memory_bytes": 42287602224, "mlx_peak_bytes": 40731251916, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/qk-fc2-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.573326792102307, 10.764806583058089, 10.743913582991809, 10.55372745799832, 10.52767491596751, 10.614938125014305]} +03:08:44 Conditioning cache hit: 85 effective tokens +03:08:53 DiT step 1/6: 9.328s, 36.71 GiB active +03:09:04 DiT step 2/6: 10.417s, 36.71 GiB active +03:09:14 DiT step 3/6: 10.334s, 36.71 GiB active +03:09:24 DiT step 4/6: 10.429s, 36.71 GiB active +03:09:35 DiT step 5/6: 10.444s, 36.72 GiB active +03:09:45 DiT step 6/6: 10.416s, 36.72 GiB active +03:09:47 VAE tiles 121/121 +03:09:47 Saved outputs/optimization-r3/product/qk-fc2-timed-1.png in 64.017s +{"case": "product", "variant": "qk-fc2", "repeat": 1, "phase": "timed", "seconds": 64.01737074996345, "peak_memory_bytes": 42329938480, "mlx_peak_bytes": 40731251916, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/qk-fc2-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.327726167161018, 10.41661983402446, 10.333738416898996, 10.428783542010933, 10.443926375126466, 10.415708124870434]} +03:09:47 Conditioning cache hit: 85 effective tokens +03:09:58 DiT step 1/6: 10.867s, 36.71 GiB active +03:10:09 DiT step 2/6: 11.098s, 36.71 GiB active +03:10:20 DiT step 3/6: 10.960s, 36.71 GiB active +03:10:31 DiT step 4/6: 10.893s, 36.71 GiB active +03:10:42 DiT step 5/6: 10.916s, 36.72 GiB active +03:10:53 DiT step 6/6: 10.796s, 36.72 GiB active +03:10:55 VAE tiles 121/121 +03:10:55 Saved outputs/optimization-r3/product/control-timed-1.png in 67.678s +{"case": "product", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 67.6780596668832, "peak_memory_bytes": 42925644384, "mlx_peak_bytes": 40761185480, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.867017999989912, 11.097974750213325, 10.9604552090168, 10.893143624998629, 10.916360415983945, 10.795650250045583]} +03:10:56 Conditioning cache hit: 85 effective tokens +03:11:06 DiT step 1/6: 10.350s, 36.71 GiB active +03:11:17 DiT step 2/6: 10.759s, 36.71 GiB active +03:11:28 DiT step 3/6: 10.788s, 36.71 GiB active +03:11:38 DiT step 4/6: 10.724s, 36.71 GiB active +03:11:49 DiT step 5/6: 10.768s, 36.72 GiB active +03:12:00 DiT step 6/6: 10.648s, 36.72 GiB active +03:12:01 VAE tiles 121/121 +03:12:02 Saved outputs/optimization-r3/product/control-timed-2.png in 66.156s +{"case": "product", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 66.15550529095344, "peak_memory_bytes": 42964867704, "mlx_peak_bytes": 40836142216, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.350283042062074, 10.759192750090733, 10.788403084035963, 10.724042082903907, 10.76825154083781, 10.648499625036493]} +03:12:02 Conditioning cache hit: 85 effective tokens +03:12:12 DiT step 1/6: 10.049s, 36.71 GiB active +03:12:22 DiT step 2/6: 10.214s, 36.71 GiB active +03:12:32 DiT step 3/6: 10.270s, 36.71 GiB active +03:12:43 DiT step 4/6: 10.387s, 36.72 GiB active +03:12:53 DiT step 5/6: 10.474s, 36.72 GiB active +03:13:04 DiT step 6/6: 10.462s, 36.72 GiB active +03:13:05 VAE tiles 121/121 +03:13:06 Saved outputs/optimization-r3/product/qk-fc2-timed-2.png in 63.998s +{"case": "product", "variant": "qk-fc2", "repeat": 2, "phase": "timed", "seconds": 63.998171125072986, "peak_memory_bytes": 42437024448, "mlx_peak_bytes": 40731251916, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3/product/qk-fc2-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.048932957928628, 10.214330125134438, 10.270042832940817, 10.386969999875873, 10.473770290846005, 10.46236433298327]} +03:13:07 Conditioning cache hit: 82 effective tokens +03:13:17 DiT step 1/6: 10.414s, 36.71 GiB active +03:13:28 DiT step 2/6: 10.767s, 36.71 GiB active +03:13:39 DiT step 3/6: 10.739s, 36.71 GiB active +03:13:49 DiT step 4/6: 10.799s, 36.71 GiB active +03:14:00 DiT step 5/6: 10.839s, 36.72 GiB active +03:14:11 DiT step 6/6: 10.818s, 36.72 GiB active +03:14:13 VAE tiles 121/121 +03:14:13 Saved outputs/optimization-r3/portrait/control-warmup--1.png in 66.501s +{"case": "portrait", "variant": "control", "repeat": -1, "phase": "warmup", "seconds": 66.50067662494257, "peak_memory_bytes": 42928413400, "mlx_peak_bytes": 40760120608, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/control-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.414454083191231, 10.767468499951065, 10.738615582929924, 10.799391249893233, 10.839179374976084, 10.817673500161618]} +03:14:13 Conditioning cache hit: 82 effective tokens +03:14:23 DiT step 1/6: 10.169s, 36.71 GiB active +03:14:34 DiT step 2/6: 10.406s, 36.71 GiB active +03:14:44 DiT step 3/6: 10.413s, 36.71 GiB active +03:14:54 DiT step 4/6: 10.333s, 36.71 GiB active +03:15:05 DiT step 5/6: 10.290s, 36.72 GiB active +03:15:15 DiT step 6/6: 10.427s, 36.72 GiB active +03:15:17 VAE tiles 121/121 +03:15:17 Saved outputs/optimization-r3/portrait/qk-fc2-warmup--1.png in 64.191s +{"case": "portrait", "variant": "qk-fc2", "repeat": -1, "phase": "warmup", "seconds": 64.1909431249369, "peak_memory_bytes": 42697366304, "mlx_peak_bytes": 40903562708, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/qk-fc2-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.168502958957106, 10.405522250104696, 10.41272783302702, 10.332954499870539, 10.289986541960388, 10.426924583967775]} +03:15:17 Conditioning cache hit: 82 effective tokens +03:15:28 DiT step 1/6: 10.886s, 36.71 GiB active +03:15:39 DiT step 2/6: 11.088s, 36.71 GiB active +03:15:50 DiT step 3/6: 11.107s, 36.71 GiB active +03:16:01 DiT step 4/6: 11.065s, 36.72 GiB active +03:16:12 DiT step 5/6: 10.820s, 36.72 GiB active +03:16:23 DiT step 6/6: 10.923s, 36.72 GiB active +03:16:25 VAE tiles 121/121 +03:16:25 Saved outputs/optimization-r3/portrait/control-timed-0.png in 68.022s +{"case": "portrait", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 68.0219049169682, "peak_memory_bytes": 43090402152, "mlx_peak_bytes": 40760120908, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.885879541980103, 11.088049875106663, 11.107039166148752, 11.065090750111267, 10.819651541067287, 10.922892624977976]} +03:16:25 Conditioning cache hit: 82 effective tokens +03:16:36 DiT step 1/6: 10.344s, 36.71 GiB active +03:16:46 DiT step 2/6: 10.312s, 36.71 GiB active +03:16:56 DiT step 3/6: 10.070s, 36.71 GiB active +03:17:06 DiT step 4/6: 10.081s, 36.71 GiB active +03:17:16 DiT step 5/6: 10.095s, 36.72 GiB active +03:17:26 DiT step 6/6: 10.126s, 36.72 GiB active +03:17:28 VAE tiles 121/121 +03:17:28 Saved outputs/optimization-r3/portrait/qk-fc2-timed-0.png in 63.147s +{"case": "portrait", "variant": "qk-fc2", "repeat": 0, "phase": "timed", "seconds": 63.14736045780592, "peak_memory_bytes": 42692877208, "mlx_peak_bytes": 40730220112, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/qk-fc2-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.343852832913399, 10.311937124934047, 10.07040312513709, 10.080784375080839, 10.095044541871175, 10.125651291804388]} +03:17:31 Conditioning cache hit: 82 effective tokens +03:17:41 DiT step 1/6: 9.240s, 36.71 GiB active +03:17:51 DiT step 2/6: 10.322s, 36.71 GiB active +03:18:01 DiT step 3/6: 10.228s, 36.71 GiB active +03:18:12 DiT step 4/6: 10.351s, 36.71 GiB active +03:18:22 DiT step 5/6: 10.352s, 36.72 GiB active +03:18:32 DiT step 6/6: 10.239s, 36.72 GiB active +03:18:34 VAE tiles 121/121 +03:18:34 Saved outputs/optimization-r3/portrait/qk-fc2-timed-1.png in 63.367s +{"case": "portrait", "variant": "qk-fc2", "repeat": 1, "phase": "timed", "seconds": 63.36688454193063, "peak_memory_bytes": 42690911152, "mlx_peak_bytes": 40900384316, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/qk-fc2-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.240180917084217, 10.322078374912962, 10.228034707950428, 10.350710666039959, 10.351933625061065, 10.238879750017077]} +03:18:34 Conditioning cache hit: 82 effective tokens +03:18:45 DiT step 1/6: 10.560s, 36.71 GiB active +03:18:56 DiT step 2/6: 10.694s, 36.71 GiB active +03:19:06 DiT step 3/6: 10.764s, 36.71 GiB active +03:19:17 DiT step 4/6: 10.617s, 36.71 GiB active +03:19:28 DiT step 5/6: 10.678s, 36.72 GiB active +03:19:38 DiT step 6/6: 10.687s, 36.72 GiB active +03:19:40 VAE tiles 121/121 +03:19:40 Saved outputs/optimization-r3/portrait/control-timed-1.png in 66.101s +{"case": "portrait", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 66.10143391694874, "peak_memory_bytes": 43080047536, "mlx_peak_bytes": 40819135904, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.560056417016312, 10.694475375115871, 10.76400970807299, 10.616949083050713, 10.67808008310385, 10.68667491688393]} +03:19:41 Conditioning cache hit: 82 effective tokens +03:19:52 DiT step 1/6: 10.531s, 36.71 GiB active +03:20:03 DiT step 2/6: 11.145s, 36.71 GiB active +03:20:14 DiT step 3/6: 10.843s, 36.71 GiB active +03:20:24 DiT step 4/6: 10.566s, 36.72 GiB active +03:20:35 DiT step 5/6: 10.513s, 36.72 GiB active +03:20:45 DiT step 6/6: 10.671s, 36.72 GiB active +03:20:47 VAE tiles 121/121 +03:20:47 Saved outputs/optimization-r3/portrait/control-timed-2.png in 66.395s +{"case": "portrait", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 66.39527866686694, "peak_memory_bytes": 42926791600, "mlx_peak_bytes": 40835028428, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.53064745804295, 11.14463270897977, 10.842613791115582, 10.565500583034009, 10.513344791950658, 10.671420915983617]} +03:20:48 Conditioning cache hit: 82 effective tokens +03:20:58 DiT step 1/6: 9.933s, 36.71 GiB active +03:21:08 DiT step 2/6: 10.111s, 36.71 GiB active +03:21:18 DiT step 3/6: 10.215s, 36.71 GiB active +03:21:28 DiT step 4/6: 10.205s, 36.71 GiB active +03:21:38 DiT step 5/6: 10.298s, 36.72 GiB active +03:21:49 DiT step 6/6: 10.362s, 36.72 GiB active +03:21:50 VAE tiles 121/121 +03:21:51 Saved outputs/optimization-r3/portrait/qk-fc2-timed-2.png in 63.249s +{"case": "portrait", "variant": "qk-fc2", "repeat": 2, "phase": "timed", "seconds": 63.248574083903804, "peak_memory_bytes": 42674756528, "mlx_peak_bytes": 40730220112, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3/portrait/qk-fc2-timed-2.png", "nonfinite_values": 0, "step_seconds": [9.932632416021079, 10.11093954113312, 10.21475570788607, 10.205349916126579, 10.297738917171955, 10.362275833962485]} +03:21:54 Text encoder 10/50 +03:21:56 Text encoder 20/50 +03:21:58 Text encoder 30/50 +03:22:00 Text encoder 40/50 +03:22:02 Text encoder 50/50 +03:22:12 DiT step 1/6: 9.417s, 36.76 GiB active +03:22:22 DiT step 2/6: 9.788s, 36.76 GiB active +03:22:33 DiT step 3/6: 10.603s, 36.76 GiB active +03:22:44 DiT step 4/6: 11.224s, 36.77 GiB active +03:22:55 DiT step 5/6: 11.057s, 36.77 GiB active +03:23:06 DiT step 6/6: 11.022s, 36.77 GiB active +03:23:08 VAE tiles 121/121 +03:23:08 Saved outputs/optimization-r3/holdout-detail/control-warmup--1.png in 76.453s +{"case": "holdout-detail", "variant": "control", "repeat": -1, "phase": "warmup", "seconds": 76.45314999995753, "peak_memory_bytes": 43234991504, "mlx_peak_bytes": 41048584124, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3/holdout-detail/control-warmup--1.png", "nonfinite_values": 0, "step_seconds": [9.416530583053827, 9.788487208075821, 10.603374124970287, 11.22392320795916, 11.056711124954745, 11.022258040960878]} +03:23:08 Conditioning cache hit: 98 effective tokens +03:23:18 DiT step 1/6: 10.296s, 36.76 GiB active +03:23:29 DiT step 2/6: 10.309s, 36.76 GiB active +03:23:39 DiT step 3/6: 10.144s, 36.76 GiB active +03:23:49 DiT step 4/6: 10.246s, 36.77 GiB active +03:23:59 DiT step 5/6: 10.292s, 36.77 GiB active +03:24:10 DiT step 6/6: 10.354s, 36.77 GiB active +03:24:11 VAE tiles 121/121 +03:24:12 Saved outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.png in 63.806s +{"case": "holdout-detail", "variant": "qk-fc2", "repeat": -1, "phase": "warmup", "seconds": 63.80645116697997, "peak_memory_bytes": 42756955128, "mlx_peak_bytes": 40790813728, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.png", "nonfinite_values": 0, "step_seconds": [10.295682708034292, 10.309457333059981, 10.143778291996568, 10.246140707982704, 10.29201937513426, 10.354217084124684]} +03:24:12 Conditioning cache hit: 98 effective tokens +03:24:22 DiT step 1/6: 10.619s, 36.76 GiB active +03:24:33 DiT step 2/6: 10.636s, 36.76 GiB active +03:24:44 DiT step 3/6: 10.632s, 36.76 GiB active +03:24:54 DiT step 4/6: 10.644s, 36.77 GiB active +03:25:05 DiT step 5/6: 10.566s, 36.77 GiB active +03:25:16 DiT step 6/6: 10.629s, 36.77 GiB active +03:25:17 VAE tiles 121/121 +03:25:18 Saved outputs/optimization-r3/holdout-detail/control-validation-0.png in 65.847s +{"case": "holdout-detail", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 65.84704962512478, "peak_memory_bytes": 43195964408, "mlx_peak_bytes": 40886446984, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3/holdout-detail/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [10.619318875018507, 10.635955666890368, 10.632296457886696, 10.644406750099733, 10.566011917078868, 10.629142459016293]} +03:25:18 Conditioning cache hit: 98 effective tokens +03:25:28 DiT step 1/6: 9.848s, 36.76 GiB active +03:25:38 DiT step 2/6: 9.983s, 36.76 GiB active +03:25:48 DiT step 3/6: 10.100s, 36.76 GiB active +03:25:58 DiT step 4/6: 10.163s, 36.77 GiB active +03:26:08 DiT step 5/6: 10.271s, 36.77 GiB active +03:26:18 DiT step 6/6: 10.199s, 36.77 GiB active +03:26:20 VAE tiles 121/121 +03:26:20 Saved outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png in 62.687s +{"case": "holdout-detail", "variant": "qk-fc2", "repeat": 0, "phase": "validation", "seconds": 62.68734062509611, "peak_memory_bytes": 42753088432, "mlx_peak_bytes": 40964811720, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png", "nonfinite_values": 0, "step_seconds": [9.848138374974951, 9.98282212507911, 10.09999533300288, 10.163251249818131, 10.270917958114296, 10.198511166963726]} +03:26:23 Conditioning cache hit: 1093 effective tokens +03:26:26 Encoded edit reference 1/1 +03:26:26 Loading cached native AdaLN schedule cache/adaln-5be858fe25a798948bdcf804.safetensors +03:26:42 DiT step 1/6: 16.423s, 36.79 GiB active +03:27:00 DiT step 2/6: 17.473s, 36.79 GiB active +03:27:18 DiT step 3/6: 17.560s, 36.80 GiB active +03:27:35 DiT step 4/6: 17.518s, 36.80 GiB active +03:27:52 DiT step 5/6: 17.190s, 36.81 GiB active +03:28:10 DiT step 6/6: 17.674s, 36.81 GiB active +03:28:12 VAE tiles 121/121 +03:28:12 Saved outputs/optimization-r3/edit/control-warmup--1.png in 108.990s +{"case": "edit", "variant": "control", "repeat": -1, "phase": "warmup", "seconds": 108.99002920882776, "peak_memory_bytes": 43859008576, "mlx_peak_bytes": 41508039384, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3/edit/control-warmup--1.png", "nonfinite_values": 0, "step_seconds": [16.422514125006273, 17.473146083997563, 17.559966416098177, 17.518435042118654, 17.190047999843955, 17.674221999943256]} +03:28:12 Conditioning cache hit: 1093 effective tokens +03:28:14 Encoded edit reference 1/1 +03:28:30 DiT step 1/6: 16.292s, 36.79 GiB active +03:28:47 DiT step 2/6: 16.649s, 36.79 GiB active +03:29:03 DiT step 3/6: 16.421s, 36.80 GiB active +03:29:20 DiT step 4/6: 16.660s, 36.80 GiB active +03:29:36 DiT step 5/6: 16.444s, 36.81 GiB active +03:29:53 DiT step 6/6: 16.546s, 36.81 GiB active +03:29:55 VAE tiles 121/121 +03:29:55 Saved outputs/optimization-r3/edit/qk-fc2-warmup--1.png in 103.104s +{"case": "edit", "variant": "qk-fc2", "repeat": -1, "phase": "warmup", "seconds": 103.10370362503454, "peak_memory_bytes": 43303574520, "mlx_peak_bytes": 41370729656, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3/edit/qk-fc2-warmup--1.png", "nonfinite_values": 0, "step_seconds": [16.292056374950334, 16.648515042150393, 16.42146575008519, 16.660248917061836, 16.44410966616124, 16.54576624999754]} +03:29:55 Conditioning cache hit: 1093 effective tokens +03:29:57 Encoded edit reference 1/1 +03:30:15 DiT step 1/6: 17.436s, 36.79 GiB active +03:30:33 DiT step 2/6: 17.916s, 36.79 GiB active +03:30:50 DiT step 3/6: 17.715s, 36.80 GiB active +03:31:08 DiT step 4/6: 17.545s, 36.80 GiB active +03:31:25 DiT step 5/6: 17.438s, 36.81 GiB active +03:31:43 DiT step 6/6: 17.364s, 36.81 GiB active +03:31:44 VAE tiles 121/121 +03:31:44 Saved outputs/optimization-r3/edit/control-validation-0.png in 109.678s +{"case": "edit", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 109.67779112490825, "peak_memory_bytes": 43836054520, "mlx_peak_bytes": 41416383425, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3/edit/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [17.43612916697748, 17.915810333099216, 17.71518375002779, 17.54526187502779, 17.438321667024866, 17.364450709195808]} +03:31:45 Conditioning cache hit: 1093 effective tokens +03:31:47 Encoded edit reference 1/1 +03:32:03 DiT step 1/6: 15.942s, 36.79 GiB active +03:32:19 DiT step 2/6: 16.155s, 36.79 GiB active +03:32:35 DiT step 3/6: 16.165s, 36.80 GiB active +03:32:51 DiT step 4/6: 16.264s, 36.80 GiB active +03:33:07 DiT step 5/6: 16.198s, 36.81 GiB active +03:33:24 DiT step 6/6: 16.065s, 36.81 GiB active +03:33:25 VAE tiles 121/121 +03:33:25 Saved outputs/optimization-r3/edit/qk-fc2-validation-0.png in 100.865s +{"case": "edit", "variant": "qk-fc2", "repeat": 0, "phase": "validation", "seconds": 100.86470816703513, "peak_memory_bytes": 43313486864, "mlx_peak_bytes": 41452262753, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3/edit/qk-fc2-validation-0.png", "nonfinite_values": 0, "step_seconds": [15.941608458058909, 16.155159290879965, 16.165109500056133, 16.26405395916663, 16.198108582990244, 16.064961167052388]} diff --git a/reports/optimization-r3/lint-draft.log b/reports/optimization-r3/lint-draft.log new file mode 100644 index 0000000000000000000000000000000000000000..add456ff308eab3aa63c421384dae45953eaa738 --- /dev/null +++ b/reports/optimization-r3/lint-draft.log @@ -0,0 +1,15 @@ +experiments/r3/blocks.py:44:110: B023 Function definition does not bind loop variable `head_major` +experiments/r3/blocks.py:74:82: B023 Function definition does not bind loop variable `runner` +experiments/r3/screen.py:139:41: B023 Function definition does not bind loop variable `xx` +experiments/r3/screen.py:139:45: B023 Function definition does not bind loop variable `w` +experiments/r3/screen.py:139:48: B023 Function definition does not bind loop variable `b` +experiments/r3/screen.py:140:51: B023 Function definition does not bind loop variable `layer` +experiments/r3/screen.py:140:57: B023 Function definition does not bind loop variable `xx` +experiments/r3/screen.py:157:39: B023 Function definition does not bind loop variable `packed` +experiments/r3/screen.py:162:42: B023 Function definition does not bind loop variable `xx` +experiments/r3/screen.py:162:99: B023 Function definition does not bind loop variable `layer` +experiments/r3/screen.py:162:111: B023 Function definition does not bind loop variable `xx` +experiments/r3/screen.py:163:55: B023 Function definition does not bind loop variable `project` +experiments/r3/screen.py:163:63: B023 Function definition does not bind loop variable `packed` +experiments/r3/screen.py:163:89: B023 Function definition does not bind loop variable `project` +Found 28 errors (14 fixed, 14 remaining). diff --git a/reports/optimization-r3/norm.json b/reports/optimization-r3/norm.json new file mode 100644 index 0000000000000000000000000000000000000000..b4f0fb1c9c45f813dfa1330ab4e87f664d8e6dcf --- /dev/null +++ b/reports/optimization-r3/norm.json @@ -0,0 +1,285 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "trials": [ + { + "group": "norm", + "threads": 256, + "max_abs": 0.0078125, + "relative_rmse": 7.710310455877334e-06, + "equal_fraction": 0.9999983906745911, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 7.1304794400930405, + "min_ms": 6.400833837687969, + "max_ms": 8.965583052486181, + "samples_ms": [ + 8.965583052486181, + 8.636000100523233, + 7.390500046312809, + 8.6834158282727, + 7.523125037550926, + 6.400833837687969, + 6.5052921418100595, + 6.870458833873272, + 6.462374934926629, + 6.410582922399044 + ] + }, + "candidate": { + "median_ms": 1.1129380436614156, + "min_ms": 1.0103341192007065, + "max_ms": 1.903250114992261, + "samples_ms": [ + 1.4779160264879465, + 1.903250114992261, + 1.444583060219884, + 1.5383749268949032, + 1.1386671103537083, + 1.037792069837451, + 1.0872089769691229, + 1.0422500781714916, + 1.084415940567851, + 1.0103341192007065 + ] + }, + "reduction_pct": 84.39182031149797 + }, + { + "group": "norm", + "threads": 512, + "max_abs": 0.001953125, + "relative_rmse": 3.359136826475151e-06, + "equal_fraction": 0.9999990463256836, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 6.538687623105943, + "min_ms": 5.488791968673468, + "max_ms": 6.9223749451339245, + "samples_ms": [ + 6.9223749451339245, + 6.678625009953976, + 6.687625078484416, + 6.540500093251467, + 6.694916868582368, + 6.53687515296042, + 5.902874981984496, + 5.488791968673468, + 5.512458039447665, + 5.516583099961281 + ] + }, + "candidate": { + "median_ms": 0.9370625484734774, + "min_ms": 0.8821249939501286, + "max_ms": 1.123917056247592, + "samples_ms": [ + 1.123917056247592, + 1.0696658864617348, + 1.1085830628871918, + 1.0636250954121351, + 0.8994999807327986, + 0.8821249939501286, + 0.9586249943822622, + 0.9001670405268669, + 0.9070830419659615, + 0.9155001025646925 + ] + }, + "reduction_pct": 85.66895067502303 + }, + { + "group": "norm", + "threads": 1024, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 5.1672919653356075, + "min_ms": 4.973415983840823, + "max_ms": 5.947457859292626, + "samples_ms": [ + 5.947457859292626, + 5.604292033240199, + 4.978082841262221, + 5.174791906028986, + 5.336666014045477, + 5.159792024642229, + 5.31679205596447, + 4.973415983840823, + 4.987874999642372, + 5.092167062684894 + ] + }, + "candidate": { + "median_ms": 0.9154165163636208, + "min_ms": 0.8423749823123217, + "max_ms": 1.1547079775482416, + "samples_ms": [ + 1.1547079775482416, + 1.0852080304175615, + 1.0684169828891754, + 1.083125127479434, + 0.9152081329375505, + 0.8965421002358198, + 0.915624899789691, + 0.9031249210238457, + 0.8423749823123217, + 0.8508749306201935 + ] + }, + "reduction_pct": 82.28440501321342 + }, + { + "group": "block", + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 175.51706242375076, + "min_ms": 171.65845911949873, + "max_ms": 177.6863751001656, + "samples_ms": [ + 175.34124990925193, + 177.6863751001656, + 173.92470897175372, + 176.92449991591275, + 174.97220798395574, + 175.6928749382496, + 172.2014171537012, + 176.47929186932743, + 171.65845911949873, + 176.8616249319166 + ] + }, + "candidate": { + "median_ms": 167.9066460346803, + "min_ms": 165.85562494583428, + "max_ms": 172.4760418292135, + "samples_ms": [ + 165.85562494583428, + 170.17779196612537, + 165.97045795060694, + 167.89483302272856, + 169.72275008447468, + 167.30462503619492, + 167.4365410581231, + 172.4760418292135, + 171.27958312630653, + 167.91845904663205 + ] + }, + "reduction_pct": 4.335998041430655 + } + ] +} diff --git a/reports/optimization-r3/norm.log b/reports/optimization-r3/norm.log new file mode 100644 index 0000000000000000000000000000000000000000..ffcb2996da60d99c20d9f49a28950bc2c279723d --- /dev/null +++ b/reports/optimization-r3/norm.log @@ -0,0 +1,4 @@ +{"group": "norm", "threads": 256, "max_abs": 0.0078125, "relative_rmse": 7.710310455877334e-06, "equal_fraction": 0.9999983906745911, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 7.1304794400930405, "min_ms": 6.400833837687969, "max_ms": 8.965583052486181, "samples_ms": [8.965583052486181, 8.636000100523233, 7.390500046312809, 8.6834158282727, 7.523125037550926, 6.400833837687969, 6.5052921418100595, 6.870458833873272, 6.462374934926629, 6.410582922399044]}, "candidate": {"median_ms": 1.1129380436614156, "min_ms": 1.0103341192007065, "max_ms": 1.903250114992261, "samples_ms": [1.4779160264879465, 1.903250114992261, 1.444583060219884, 1.5383749268949032, 1.1386671103537083, 1.037792069837451, 1.0872089769691229, 1.0422500781714916, 1.084415940567851, 1.0103341192007065]}, "reduction_pct": 84.39182031149797} +{"group": "norm", "threads": 512, "max_abs": 0.001953125, "relative_rmse": 3.359136826475151e-06, "equal_fraction": 0.9999990463256836, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 6.538687623105943, "min_ms": 5.488791968673468, "max_ms": 6.9223749451339245, "samples_ms": [6.9223749451339245, 6.678625009953976, 6.687625078484416, 6.540500093251467, 6.694916868582368, 6.53687515296042, 5.902874981984496, 5.488791968673468, 5.512458039447665, 5.516583099961281]}, "candidate": {"median_ms": 0.9370625484734774, "min_ms": 0.8821249939501286, "max_ms": 1.123917056247592, "samples_ms": [1.123917056247592, 1.0696658864617348, 1.1085830628871918, 1.0636250954121351, 0.8994999807327986, 0.8821249939501286, 0.9586249943822622, 0.9001670405268669, 0.9070830419659615, 0.9155001025646925]}, "reduction_pct": 85.66895067502303} +{"group": "norm", "threads": 1024, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 5.1672919653356075, "min_ms": 4.973415983840823, "max_ms": 5.947457859292626, "samples_ms": [5.947457859292626, 5.604292033240199, 4.978082841262221, 5.174791906028986, 5.336666014045477, 5.159792024642229, 5.31679205596447, 4.973415983840823, 4.987874999642372, 5.092167062684894]}, "candidate": {"median_ms": 0.9154165163636208, "min_ms": 0.8423749823123217, "max_ms": 1.1547079775482416, "samples_ms": [1.1547079775482416, 1.0852080304175615, 1.0684169828891754, 1.083125127479434, 0.9152081329375505, 0.8965421002358198, 0.915624899789691, 0.9031249210238457, 0.8423749823123217, 0.8508749306201935]}, "reduction_pct": 82.28440501321342} +{"group": "block", "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 175.51706242375076, "min_ms": 171.65845911949873, "max_ms": 177.6863751001656, "samples_ms": [175.34124990925193, 177.6863751001656, 173.92470897175372, 176.92449991591275, 174.97220798395574, 175.6928749382496, 172.2014171537012, 176.47929186932743, 171.65845911949873, 176.8616249319166]}, "candidate": {"median_ms": 167.9066460346803, "min_ms": 165.85562494583428, "max_ms": 172.4760418292135, "samples_ms": [165.85562494583428, 170.17779196612537, 165.97045795060694, 167.89483302272856, 169.72275008447468, 167.30462503619492, 167.4365410581231, 172.4760418292135, 171.27958312630653, 167.91845904663205]}, "reduction_pct": 4.335998041430655} diff --git a/reports/optimization-r3/panel.json b/reports/optimization-r3/panel.json new file mode 100644 index 0000000000000000000000000000000000000000..0f4a642cd7607b6533e70bbcdbf405a7899b38ad --- /dev/null +++ b/reports/optimization-r3/panel.json @@ -0,0 +1,128 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "control": { + "median_ms": 180.13097951188684, + "min_ms": 169.93404203094542, + "max_ms": 188.88633302412927, + "samples_ms": [ + 169.93404203094542, + 171.05308291502297, + 170.75849999673665, + 173.48550003953278, + 172.9052090086043, + 176.76970805041492, + 174.78716606274247, + 176.4798341318965, + 180.49716600216925, + 180.4940840229392, + 179.40233298577368, + 179.79412502609193, + 180.46783399768174, + 183.60466696321964, + 184.60425012744963, + 186.3896248396486, + 184.81820914894342, + 186.82087492197752, + 188.88633302412927, + 187.38816701807082 + ] + }, + "candidate": { + "median_ms": 180.47241657041013, + "min_ms": 168.9217919483781, + "max_ms": 188.04916692897677, + "samples_ms": [ + 170.5310419201851, + 168.9217919483781, + 173.9294589497149, + 172.49658307991922, + 175.96437502652407, + 173.22891694493592, + 176.2361249420792, + 175.5500838626176, + 180.00725004822016, + 175.60020904056728, + 180.9375830926001, + 182.78391705825925, + 182.2903749998659, + 182.91262513957918, + 183.34583402611315, + 185.3207079693675, + 184.98462485149503, + 186.93837500177324, + 187.5958750024438, + 188.04916692897677 + ] + }, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "reduction_pct": -0.1895493265225756 +} diff --git a/reports/optimization-r3/panel.log b/reports/optimization-r3/panel.log new file mode 100644 index 0000000000000000000000000000000000000000..bda067dc4006289e0b95b9b0424ef42084c23849 --- /dev/null +++ b/reports/optimization-r3/panel.log @@ -0,0 +1 @@ +{"environment": {"platform": "macOS-27.0.1-arm64-arm-64bit", "machine": "arm64", "metal": {"device_name": "Apple M5 Pro", "max_recommended_working_set_size": 55662788608, "memory_size": 68719476736, "architecture": "applegpu_g17s", "max_buffer_length": 41747087360, "resource_limit": 499000}, "versions": {"mlx": "0.32.4", "mlx-metal": "0.32.4", "numpy": "2.5.4", "safetensors": "0.8.0", "transformers": "4.57.6", "torch": "2.15.0", "Pillow": "13.0.0", "scikit-image": "0.26.0"}, "precision_environment": {"MLX_ENABLE_TF32": "0", "MLX_CONV_WINOGRAD": "0"}}, "control": {"median_ms": 180.13097951188684, "min_ms": 169.93404203094542, "max_ms": 188.88633302412927, "samples_ms": [169.93404203094542, 171.05308291502297, 170.75849999673665, 173.48550003953278, 172.9052090086043, 176.76970805041492, 174.78716606274247, 176.4798341318965, 180.49716600216925, 180.4940840229392, 179.40233298577368, 179.79412502609193, 180.46783399768174, 183.60466696321964, 184.60425012744963, 186.3896248396486, 184.81820914894342, 186.82087492197752, 188.88633302412927, 187.38816701807082]}, "candidate": {"median_ms": 180.47241657041013, "min_ms": 168.9217919483781, "max_ms": 188.04916692897677, "samples_ms": [170.5310419201851, 168.9217919483781, 173.9294589497149, 172.49658307991922, 175.96437502652407, 173.22891694493592, 176.2361249420792, 175.5500838626176, 180.00725004822016, 175.60020904056728, 180.9375830926001, 182.78391705825925, 182.2903749998659, 182.91262513957918, 183.34583402611315, 185.3207079693675, 184.98462485149503, 186.93837500177324, 187.5958750024438, 188.04916692897677]}, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "reduction_pct": -0.1895493265225756} diff --git a/reports/optimization-r3/qk-audit.log b/reports/optimization-r3/qk-audit.log new file mode 100644 index 0000000000000000000000000000000000000000..3e619f354e501edd71b2218f47282244fbf5447a --- /dev/null +++ b/reports/optimization-r3/qk-audit.log @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3-qk", + "cases": { + "product": { + "control": { + "samples_s": [ + 67.02427170914598, + 66.80325495894067, + 64.55974454106763 + ], + "median_s": 66.80325495894067, + "min_s": 64.55974454106763, + "max_s": 67.02427170914598, + "peak_physical_bytes": 42924694280, + "peak_mlx_bytes": 40836142444 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 63.90098704188131, + 64.23788916692138, + 61.27363566705026 + ], + "median_s": 63.90098704188131, + "min_s": 61.27363566705026, + "max_s": 64.23788916692138, + "peak_physical_bytes": 42598718264, + "peak_mlx_bytes": 40911082900 + }, + "reduction_pct": 4.344500756502335 + }, + "portrait": { + "control": { + "samples_s": [ + 64.2339057920035, + 64.86302212486044, + 65.15299695800059 + ], + "median_s": 64.86302212486044, + "min_s": 64.2339057920035, + "max_s": 65.15299695800059, + "peak_physical_bytes": 43080719280, + "peak_mlx_bytes": 40835028772 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 60.65490966709331, + 61.10937987500802, + 62.00676687504165 + ], + "median_s": 61.10937987500802, + "min_s": 60.65490966709331, + "max_s": 62.00676687504165, + "peak_physical_bytes": 42673544112, + "peak_mlx_bytes": 40909920220 + }, + "reduction_pct": 5.7870295383812165 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/qk-deployment/comparison.json b/reports/optimization-r3/qk-deployment/comparison.json new file mode 100644 index 0000000000000000000000000000000000000000..3208dce2a6a87ab0fcead5227e9fda55945943e8 --- /dev/null +++ b/reports/optimization-r3/qk-deployment/comparison.json @@ -0,0 +1,58 @@ +{ + "schema_version": 1, + "baseline": "r3-deployment-control", + "candidate": "r3-deployment-qk-fc2-native-norm", + "decision": "measured_improvement", + "quality_pass": true, + "quality_checks": { + "max_abs_error": true, + "nonfinite_values": true + }, + "feasible": true, + "objective": "latency", + "latency_reduction_pct": 5.068505095942822, + "speedup": 1.053391185939559, + "peak_memory_reduction_pct": 0.9451447766078203, + "latency_range_screen_pass": true, + "baseline_summary": { + "cases": { + "product": { + "median_seconds": 66.80325495894067, + "min_seconds": 64.55974454106763, + "max_seconds": 67.02427170914598, + "repeats": 3, + "max_peak_memory_bytes": 42924694280 + }, + "portrait": { + "median_seconds": 64.86302212486044, + "min_seconds": 64.2339057920035, + "max_seconds": 65.15299695800059, + "repeats": 3, + "max_peak_memory_bytes": 43080719280 + } + }, + "geomean_seconds": 65.82599034131171, + "max_peak_memory_bytes": 43080719280 + }, + "candidate_summary": { + "cases": { + "product": { + "median_seconds": 63.90098704188131, + "min_seconds": 61.27363566705026, + "max_seconds": 64.23788916692138, + "repeats": 3, + "max_peak_memory_bytes": 42598718264 + }, + "portrait": { + "median_seconds": 61.10937987500802, + "min_seconds": 60.65490966709331, + "max_seconds": 62.00676687504165, + "repeats": 3, + "max_peak_memory_bytes": 42673544112 + } + }, + "geomean_seconds": 62.48959666640749, + "max_peak_memory_bytes": 42673544112 + }, + "scope": "Equal-weight geometric mean of declared timing-case medians; maximum observed memory. Range screen is descriptive, not statistical confidence; no automatic deployment." +} diff --git a/reports/optimization-r3/qk-deployment/control.receipt.json b/reports/optimization-r3/qk-deployment/control.receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..37c803ad128e3da2eee5a921cc2877bb66a8e625 --- /dev/null +++ b/reports/optimization-r3/qk-deployment/control.receipt.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "id": "r3-deployment-control", + "campaign_id": "h3-m5pro-round-03", + "contract_sha256": "cbd4ce596524b59629216716299ee8677b10f49140de962384153aaaa2e55dec", + "complete": true, + "change_class": "control", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "control", + "code_sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "8354e62638cc6104a5d188c26cb42ebc3f9048f222a15254fe9033dc384b902a", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2-native-norm", + "--workload", + "optimization/round-03/workload.json", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-qk" + ] + }, + "quality": { + "variant_sha256": "7634314584df3557bc88e7613d9a32d6de501c83c19cd270900dfacdb246ad95", + "reference_sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 67.02427170914598, + "peak_memory_bytes": 42670611112, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 66.80325495894067, + "peak_memory_bytes": 42924694280, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 64.55974454106763, + "peak_memory_bytes": 42825210656, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 64.2339057920035, + "peak_memory_bytes": 42946304968, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 64.86302212486044, + "peak_memory_bytes": 42922826672, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 65.15299695800059, + "peak_memory_bytes": 43080719280, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-qk/runs.jsonl", + "sha256": "ec303dd7f11fa79c1539a424d04ff9dc9f427a3d4181a7957199b7dc6ee6b9c8" + }, + { + "path": "outputs/optimization-r3-qk/source-manifest.json", + "sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea" + }, + { + "path": "reports/optimization-r3/qk-deployment/quality-audit.json", + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + { + "path": "reports/optimization-r3/qk-deployment/summary.json", + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/reports/optimization-r3/qk-deployment/qk-fc2-native-norm.receipt.json b/reports/optimization-r3/qk-deployment/qk-fc2-native-norm.receipt.json new file mode 100644 index 0000000000000000000000000000000000000000..14ffde49f58151ac18af1f5945a293f0e3207216 --- /dev/null +++ b/reports/optimization-r3/qk-deployment/qk-fc2-native-norm.receipt.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "id": "r3-deployment-qk-fc2-native-norm", + "campaign_id": "h3-m5pro-round-03", + "contract_sha256": "cbd4ce596524b59629216716299ee8677b10f49140de962384153aaaa2e55dec", + "complete": true, + "change_class": "exact", + "hypothesis": "Native reduction matching QK/RoPE fusion and shape-qualified Metal 4 FC2 tiling reduce full generation latency without changing a denoising tensor or pixel.", + "context": { + "hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory", + "os": "macOS 27.0.1 arm64", + "software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment", + "environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded", + "timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.", + "memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.", + "cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.", + "execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population." + }, + "variant": { + "id": "qk-fc2-native-norm", + "code_sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea", + "model_sha256": "3274a3e5fe0d2ea0d63f66b020beb193276a0a9d8de7ea466b312fbae9a2746f", + "config_sha256": "d8ede93ee4766952aa052d0f550a675508f271dcd04c064747713fdf8c4cc24e", + "command": [ + ".venv/bin/python", + "-m", + "experiments.r3.images", + "--deployment", + "--variants", + "qk-fc2-native-norm", + "--workload", + "optimization/round-03/workload.json", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--output", + "outputs/optimization-r3-qk" + ] + }, + "quality": { + "variant_sha256": "11f7dd242ba190be2c0fd67530140cd7da6154960cdd902126b7ebb3a56f3ec6", + "reference_sha256": "201be3382041aec890cbd766c2f88a43799f7e2d33807e9a1504f7e29e422065", + "evaluator_sha256": "4db0c5e8606ffc011bf85dbadabc482468a2e49cd5a1757a774620d493eba7ee", + "outputs": { + "product": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "portrait": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "edit": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "holdout-detail": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5" + }, + "metrics": { + "max_abs_error": 0, + "nonfinite_values": 0 + } + }, + "runs": [ + { + "case": "product", + "repeat": 0, + "seconds": 63.90098704188131, + "peak_memory_bytes": 42450606784, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 1, + "seconds": 64.23788916692138, + "peak_memory_bytes": 42492910320, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "product", + "repeat": 2, + "seconds": 61.27363566705026, + "peak_memory_bytes": 42598718264, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f" + }, + { + "case": "portrait", + "repeat": 0, + "seconds": 60.65490966709331, + "peak_memory_bytes": 42673544112, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 1, + "seconds": 61.10937987500802, + "peak_memory_bytes": 42671692696, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + }, + { + "case": "portrait", + "repeat": 2, + "seconds": 62.00676687504165, + "peak_memory_bytes": 42665237448, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47" + } + ], + "evidence": [ + { + "path": "outputs/optimization-r3-qk/runs.jsonl", + "sha256": "ec303dd7f11fa79c1539a424d04ff9dc9f427a3d4181a7957199b7dc6ee6b9c8" + }, + { + "path": "outputs/optimization-r3-qk/source-manifest.json", + "sha256": "8121aef031c28e2af6aa47e2492040619695b465eca661413576fcc00e6e58ea" + }, + { + "path": "reports/optimization-r3/qk-deployment/quality-audit.json", + "sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e" + }, + { + "path": "reports/optimization-r3/qk-deployment/summary.json", + "sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe" + } + ], + "extensions": { + "canonical_output": "SHA256 decoded RGB uint8 bytes in row-major order", + "model_identity": "model_sha256 is the pinned model/source provenance manifest hash; no new full checkpoint rehash", + "reference_scope": "Incremental identity to MLX BF16 recipe, not CUDA or unpublished FP32 training weights", + "trace_identical": true + } +} diff --git a/reports/optimization-r3/qk-deployment/quality-audit.json b/reports/optimization-r3/qk-deployment/quality-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..86521489ea2539968b7c8820b687c9962aa4d674 --- /dev/null +++ b/reports/optimization-r3/qk-deployment/quality-audit.json @@ -0,0 +1,302 @@ +[ + { + "output": "outputs/optimization-r3-qk/product/control-cold--1.png", + "case": "product", + "variant": "control", + "phase": "cold", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/control-timed-0.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/control-timed-1.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/control-timed-2.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.png", + "case": "product", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/control-warmup--1.png", + "case": "portrait", + "variant": "control", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/control-timed-0.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/control-timed-1.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/control-timed-2.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-2.png", + "case": "portrait", + "variant": "qk-fc2-native-norm", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/holdout-detail/control-validation-0.png", + "case": "holdout-detail", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.png", + "case": "holdout-detail", + "variant": "qk-fc2-native-norm", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/edit/control-validation-0.png", + "case": "edit", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.png", + "case": "edit", + "variant": "qk-fc2-native-norm", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + } +] diff --git a/reports/optimization-r3/qk-deployment/summary.json b/reports/optimization-r3/qk-deployment/summary.json new file mode 100644 index 0000000000000000000000000000000000000000..3e619f354e501edd71b2218f47282244fbf5447a --- /dev/null +++ b/reports/optimization-r3/qk-deployment/summary.json @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3-qk", + "cases": { + "product": { + "control": { + "samples_s": [ + 67.02427170914598, + 66.80325495894067, + 64.55974454106763 + ], + "median_s": 66.80325495894067, + "min_s": 64.55974454106763, + "max_s": 67.02427170914598, + "peak_physical_bytes": 42924694280, + "peak_mlx_bytes": 40836142444 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 63.90098704188131, + 64.23788916692138, + 61.27363566705026 + ], + "median_s": 63.90098704188131, + "min_s": 61.27363566705026, + "max_s": 64.23788916692138, + "peak_physical_bytes": 42598718264, + "peak_mlx_bytes": 40911082900 + }, + "reduction_pct": 4.344500756502335 + }, + "portrait": { + "control": { + "samples_s": [ + 64.2339057920035, + 64.86302212486044, + 65.15299695800059 + ], + "median_s": 64.86302212486044, + "min_s": 64.2339057920035, + "max_s": 65.15299695800059, + "peak_physical_bytes": 43080719280, + "peak_mlx_bytes": 40835028772 + }, + "qk-fc2-native-norm": { + "samples_s": [ + 60.65490966709331, + 61.10937987500802, + 62.00676687504165 + ], + "median_s": 61.10937987500802, + "min_s": 60.65490966709331, + "max_s": 62.00676687504165, + "peak_physical_bytes": 42673544112, + "peak_mlx_bytes": 40909920220 + }, + "reduction_pct": 5.7870295383812165 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/qk-images.log b/reports/optimization-r3/qk-images.log new file mode 100644 index 0000000000000000000000000000000000000000..4c06cd131e7970a47433a7df2177916b972be9c0 --- /dev/null +++ b/reports/optimization-r3/qk-images.log @@ -0,0 +1,204 @@ +04:07:57 Conditioning cache hit: 85 effective tokens +04:07:57 Loading cached native AdaLN schedule cache/adaln-4dda935938d45a975c179220.safetensors +04:08:12 DiT step 1/6: 15.364s, 35.95 GiB active +04:08:22 DiT step 2/6: 10.209s, 35.96 GiB active +04:08:33 DiT step 3/6: 10.888s, 35.96 GiB active +04:08:44 DiT step 4/6: 10.992s, 35.96 GiB active +04:08:55 DiT step 5/6: 10.873s, 35.97 GiB active +04:09:06 DiT step 6/6: 10.648s, 35.97 GiB active +04:09:08 VAE tiles 121/121 +04:09:08 Saved outputs/optimization-r3-qk/product/control-cold--1.png in 71.585s +{"case": "product", "variant": "control", "repeat": -1, "phase": "cold", "seconds": 71.58487316616811, "peak_memory_bytes": 41102595600, "mlx_peak_bytes": 40352740044, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/control-cold--1.png", "nonfinite_values": 0, "step_seconds": [15.364340125117451, 10.209481959231198, 10.888079207856208, 10.992024667095393, 10.872787541011348, 10.647549249930307]} +04:09:08 Conditioning cache hit: 85 effective tokens +04:09:18 DiT step 1/6: 9.830s, 36.71 GiB active +04:09:28 DiT step 2/6: 10.125s, 36.71 GiB active +04:09:38 DiT step 3/6: 10.319s, 36.71 GiB active +04:09:49 DiT step 4/6: 10.373s, 36.72 GiB active +04:09:59 DiT step 5/6: 10.495s, 36.72 GiB active +04:10:10 DiT step 6/6: 10.491s, 36.72 GiB active +04:10:12 VAE tiles 121/121 +04:10:12 Saved outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.png in 63.789s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": -1, "phase": "warmup", "seconds": 63.7890035409946, "peak_memory_bytes": 41568933872, "mlx_peak_bytes": 40911082896, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.png", "nonfinite_values": 0, "step_seconds": [9.829503833083436, 10.124922458082438, 10.31916404189542, 10.373383583966643, 10.494951708009467, 10.491471792105585]} +04:10:15 Conditioning cache hit: 85 effective tokens +04:10:25 DiT step 1/6: 9.869s, 36.71 GiB active +04:10:36 DiT step 2/6: 11.024s, 36.71 GiB active +04:10:47 DiT step 3/6: 10.975s, 36.71 GiB active +04:10:58 DiT step 4/6: 10.970s, 36.72 GiB active +04:11:09 DiT step 5/6: 10.889s, 36.72 GiB active +04:11:20 DiT step 6/6: 10.934s, 36.72 GiB active +04:11:21 VAE tiles 121/121 +04:11:22 Saved outputs/optimization-r3-qk/product/control-timed-0.png in 67.024s +{"case": "product", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 67.02427170914598, "peak_memory_bytes": 42670611112, "mlx_peak_bytes": 40836142444, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [9.8694685830269, 11.024087708909065, 10.974625166971236, 10.970295834122226, 10.889125291956589, 10.934292541118339]} +04:11:22 Conditioning cache hit: 85 effective tokens +04:11:32 DiT step 1/6: 10.229s, 36.71 GiB active +04:11:42 DiT step 2/6: 10.410s, 36.71 GiB active +04:11:53 DiT step 3/6: 10.289s, 36.71 GiB active +04:12:03 DiT step 4/6: 10.300s, 36.72 GiB active +04:12:13 DiT step 5/6: 10.278s, 36.72 GiB active +04:12:23 DiT step 6/6: 10.277s, 36.72 GiB active +04:12:25 VAE tiles 121/121 +04:12:25 Saved outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png in 63.901s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "timed", "seconds": 63.90098704188131, "peak_memory_bytes": 42450606784, "mlx_peak_bytes": 40911082900, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.22877712501213, 10.409983040997759, 10.289188583847135, 10.299693416105583, 10.278323167003691, 10.27706433297135]} +04:12:28 Conditioning cache hit: 85 effective tokens +04:12:38 DiT step 1/6: 9.401s, 36.71 GiB active +04:12:48 DiT step 2/6: 10.537s, 36.71 GiB active +04:12:59 DiT step 3/6: 10.530s, 36.71 GiB active +04:13:09 DiT step 4/6: 10.408s, 36.72 GiB active +04:13:20 DiT step 5/6: 10.355s, 36.72 GiB active +04:13:30 DiT step 6/6: 10.410s, 36.72 GiB active +04:13:32 VAE tiles 121/121 +04:13:32 Saved outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.png in 64.238s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": 1, "phase": "timed", "seconds": 64.23788916692138, "peak_memory_bytes": 42492910320, "mlx_peak_bytes": 40911082896, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.401296249823645, 10.536568582989275, 10.530235250014812, 10.407892124960199, 10.354520708089694, 10.410326207987964]} +04:13:32 Conditioning cache hit: 85 effective tokens +04:13:43 DiT step 1/6: 10.730s, 36.71 GiB active +04:13:54 DiT step 2/6: 10.875s, 36.71 GiB active +04:14:05 DiT step 3/6: 10.835s, 36.71 GiB active +04:14:16 DiT step 4/6: 10.807s, 36.72 GiB active +04:14:26 DiT step 5/6: 10.765s, 36.72 GiB active +04:14:37 DiT step 6/6: 10.683s, 36.72 GiB active +04:14:39 VAE tiles 121/121 +04:14:39 Saved outputs/optimization-r3-qk/product/control-timed-1.png in 66.803s +{"case": "product", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 66.80325495894067, "peak_memory_bytes": 42924694280, "mlx_peak_bytes": 40761185680, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.729648708831519, 10.87542050005868, 10.834918207954615, 10.80728083406575, 10.764596584020182, 10.683254458010197]} +04:14:40 Conditioning cache hit: 85 effective tokens +04:14:50 DiT step 1/6: 10.246s, 36.71 GiB active +04:15:00 DiT step 2/6: 10.346s, 36.71 GiB active +04:15:11 DiT step 3/6: 10.561s, 36.71 GiB active +04:15:22 DiT step 4/6: 10.576s, 36.71 GiB active +04:15:32 DiT step 5/6: 10.429s, 36.72 GiB active +04:15:42 DiT step 6/6: 10.353s, 36.72 GiB active +04:15:44 VAE tiles 121/121 +04:15:44 Saved outputs/optimization-r3-qk/product/control-timed-2.png in 64.560s +{"case": "product", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 64.55974454106763, "peak_memory_bytes": 42825210656, "mlx_peak_bytes": 40836142336, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.245667750015855, 10.34607325005345, 10.56147012510337, 10.57638662494719, 10.428546665934846, 10.353422415908426]} +04:15:44 Conditioning cache hit: 85 effective tokens +04:15:54 DiT step 1/6: 9.653s, 36.71 GiB active +04:16:04 DiT step 2/6: 9.891s, 36.71 GiB active +04:16:14 DiT step 3/6: 9.916s, 36.71 GiB active +04:16:24 DiT step 4/6: 9.877s, 36.72 GiB active +04:16:34 DiT step 5/6: 9.982s, 36.72 GiB active +04:16:44 DiT step 6/6: 9.883s, 36.72 GiB active +04:16:45 VAE tiles 121/121 +04:16:46 Saved outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.png in 61.274s +{"case": "product", "variant": "qk-fc2-native-norm", "repeat": 2, "phase": "timed", "seconds": 61.27363566705026, "peak_memory_bytes": 42598718264, "mlx_peak_bytes": 40911082896, "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.png", "nonfinite_values": 0, "step_seconds": [9.65336541691795, 9.890516959130764, 9.916269375011325, 9.877202207921073, 9.981639000121504, 9.883080916944891]} +04:16:46 Conditioning cache hit: 82 effective tokens +04:16:56 DiT step 1/6: 9.999s, 36.71 GiB active +04:17:07 DiT step 2/6: 10.285s, 36.71 GiB active +04:17:17 DiT step 3/6: 10.610s, 36.71 GiB active +04:17:28 DiT step 4/6: 10.274s, 36.72 GiB active +04:17:38 DiT step 5/6: 10.215s, 36.72 GiB active +04:17:48 DiT step 6/6: 10.231s, 36.72 GiB active +04:17:50 VAE tiles 121/121 +04:17:50 Saved outputs/optimization-r3-qk/portrait/control-warmup--1.png in 63.665s +{"case": "portrait", "variant": "control", "repeat": -1, "phase": "warmup", "seconds": 63.665249082958326, "peak_memory_bytes": 42910276456, "mlx_peak_bytes": 40792331692, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/control-warmup--1.png", "nonfinite_values": 0, "step_seconds": [9.998623083112761, 10.284833875019103, 10.609914500033483, 10.273679625010118, 10.21539608296007, 10.231458166847005]} +04:17:50 Conditioning cache hit: 82 effective tokens +04:18:00 DiT step 1/6: 9.711s, 36.71 GiB active +04:18:10 DiT step 2/6: 9.927s, 36.71 GiB active +04:18:20 DiT step 3/6: 9.869s, 36.71 GiB active +04:18:29 DiT step 4/6: 9.912s, 36.71 GiB active +04:18:40 DiT step 5/6: 10.168s, 36.72 GiB active +04:18:50 DiT step 6/6: 10.056s, 36.72 GiB active +04:18:51 VAE tiles 121/121 +04:18:52 Saved outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.png in 61.693s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": -1, "phase": "warmup", "seconds": 61.69332629116252, "peak_memory_bytes": 42689043352, "mlx_peak_bytes": 40909920220, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.png", "nonfinite_values": 0, "step_seconds": [9.710975375026464, 9.927052166080102, 9.86899883300066, 9.911723082885146, 10.16768925008364, 10.056352417217568]} +04:18:52 Conditioning cache hit: 82 effective tokens +04:19:02 DiT step 1/6: 10.410s, 36.71 GiB active +04:19:13 DiT step 2/6: 10.421s, 36.71 GiB active +04:19:23 DiT step 3/6: 10.387s, 36.71 GiB active +04:19:33 DiT step 4/6: 10.363s, 36.72 GiB active +04:19:44 DiT step 5/6: 10.304s, 36.72 GiB active +04:19:54 DiT step 6/6: 10.315s, 36.72 GiB active +04:19:56 VAE tiles 121/121 +04:19:56 Saved outputs/optimization-r3-qk/portrait/control-timed-0.png in 64.234s +{"case": "portrait", "variant": "control", "repeat": 0, "phase": "timed", "seconds": 64.2339057920035, "peak_memory_bytes": 42946304968, "mlx_peak_bytes": 40760121308, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/control-timed-0.png", "nonfinite_values": 0, "step_seconds": [10.410045666852966, 10.420791167067364, 10.387041166890413, 10.363457958912477, 10.30392266716808, 10.31452420912683]} +04:19:56 Conditioning cache hit: 82 effective tokens +04:20:06 DiT step 1/6: 9.716s, 36.71 GiB active +04:20:16 DiT step 2/6: 9.818s, 36.71 GiB active +04:20:25 DiT step 3/6: 9.769s, 36.71 GiB active +04:20:35 DiT step 4/6: 9.779s, 36.72 GiB active +04:20:45 DiT step 5/6: 9.769s, 36.72 GiB active +04:20:55 DiT step 6/6: 9.781s, 36.72 GiB active +04:20:56 VAE tiles 121/121 +04:20:57 Saved outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png in 60.655s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "timed", "seconds": 60.65490966709331, "peak_memory_bytes": 42673544112, "mlx_peak_bytes": 40909920220, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png", "nonfinite_values": 0, "step_seconds": [9.715915624983609, 9.817784250015393, 9.768883208977059, 9.779015209060162, 9.768648916855454, 9.780800291104242]} +04:21:00 Conditioning cache hit: 82 effective tokens +04:21:09 DiT step 1/6: 9.221s, 36.71 GiB active +04:21:19 DiT step 2/6: 9.671s, 36.71 GiB active +04:21:28 DiT step 3/6: 9.783s, 36.71 GiB active +04:21:38 DiT step 4/6: 9.910s, 36.71 GiB active +04:21:48 DiT step 5/6: 9.983s, 36.72 GiB active +04:21:58 DiT step 6/6: 10.032s, 36.72 GiB active +04:22:00 VAE tiles 121/121 +04:22:00 Saved outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.png in 61.109s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": 1, "phase": "timed", "seconds": 61.10937987500802, "peak_memory_bytes": 42671692696, "mlx_peak_bytes": 40909920220, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.png", "nonfinite_values": 0, "step_seconds": [9.22073854203336, 9.670754499966279, 9.783159208949655, 9.909761416958645, 9.98343720799312, 10.032066999934614]} +04:22:00 Conditioning cache hit: 82 effective tokens +04:22:11 DiT step 1/6: 10.274s, 36.71 GiB active +04:22:21 DiT step 2/6: 10.434s, 36.71 GiB active +04:22:31 DiT step 3/6: 10.465s, 36.71 GiB active +04:22:42 DiT step 4/6: 10.499s, 36.72 GiB active +04:22:52 DiT step 5/6: 10.473s, 36.72 GiB active +04:23:03 DiT step 6/6: 10.643s, 36.72 GiB active +04:23:05 VAE tiles 121/121 +04:23:05 Saved outputs/optimization-r3-qk/portrait/control-timed-1.png in 64.863s +{"case": "portrait", "variant": "control", "repeat": 1, "phase": "timed", "seconds": 64.86302212486044, "peak_memory_bytes": 42922826672, "mlx_peak_bytes": 40760121308, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/control-timed-1.png", "nonfinite_values": 0, "step_seconds": [10.273641292005777, 10.43382520810701, 10.464569084113464, 10.499002415919676, 10.472895958926529, 10.643158541060984]} +04:23:06 Conditioning cache hit: 82 effective tokens +04:23:16 DiT step 1/6: 10.260s, 36.71 GiB active +04:23:27 DiT step 2/6: 10.569s, 36.71 GiB active +04:23:37 DiT step 3/6: 10.524s, 36.71 GiB active +04:23:48 DiT step 4/6: 10.565s, 36.72 GiB active +04:23:58 DiT step 5/6: 10.553s, 36.72 GiB active +04:24:09 DiT step 6/6: 10.624s, 36.72 GiB active +04:24:11 VAE tiles 121/121 +04:24:11 Saved outputs/optimization-r3-qk/portrait/control-timed-2.png in 65.153s +{"case": "portrait", "variant": "control", "repeat": 2, "phase": "timed", "seconds": 65.15299695800059, "peak_memory_bytes": 43080719280, "mlx_peak_bytes": 40835028772, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/control-timed-2.png", "nonfinite_values": 0, "step_seconds": [10.25987570779398, 10.568742250092328, 10.524409417062998, 10.564705499913543, 10.5529157910496, 10.624497500015423]} +04:24:11 Conditioning cache hit: 82 effective tokens +04:24:21 DiT step 1/6: 9.908s, 36.71 GiB active +04:24:31 DiT step 2/6: 9.993s, 36.71 GiB active +04:24:41 DiT step 3/6: 10.025s, 36.71 GiB active +04:24:51 DiT step 4/6: 10.001s, 36.72 GiB active +04:25:01 DiT step 5/6: 9.988s, 36.72 GiB active +04:25:11 DiT step 6/6: 10.018s, 36.72 GiB active +04:25:13 VAE tiles 121/121 +04:25:13 Saved outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-2.png in 62.007s +{"case": "portrait", "variant": "qk-fc2-native-norm", "repeat": 2, "phase": "timed", "seconds": 62.00676687504165, "peak_memory_bytes": 42665237448, "mlx_peak_bytes": 40909920220, "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-2.png", "nonfinite_values": 0, "step_seconds": [9.907771874917671, 9.992894374998286, 10.025307500036433, 10.001479707891122, 9.988049709005281, 10.01840312499553]} +04:25:14 Conditioning cache hit: 98 effective tokens +04:25:24 DiT step 1/6: 10.186s, 36.71 GiB active +04:25:34 DiT step 2/6: 10.399s, 36.71 GiB active +04:25:45 DiT step 3/6: 10.388s, 36.71 GiB active +04:25:55 DiT step 4/6: 10.393s, 36.72 GiB active +04:26:06 DiT step 5/6: 10.412s, 36.72 GiB active +04:26:16 DiT step 6/6: 10.426s, 36.72 GiB active +04:26:18 VAE tiles 121/121 +04:26:18 Saved outputs/optimization-r3-qk/holdout-detail/control-validation-0.png in 64.293s +{"case": "holdout-detail", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 64.29311916604638, "peak_memory_bytes": 42927987704, "mlx_peak_bytes": 40840960064, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3-qk/holdout-detail/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [10.186366624897346, 10.398944000015035, 10.388187959091738, 10.393390582874417, 10.412437124876305, 10.425708208000287]} +04:26:18 Conditioning cache hit: 98 effective tokens +04:26:28 DiT step 1/6: 9.826s, 36.71 GiB active +04:26:38 DiT step 2/6: 10.011s, 36.71 GiB active +04:26:48 DiT step 3/6: 10.023s, 36.71 GiB active +04:26:58 DiT step 4/6: 9.948s, 36.72 GiB active +04:27:08 DiT step 5/6: 9.976s, 36.72 GiB active +04:27:18 DiT step 6/6: 10.093s, 36.72 GiB active +04:27:20 VAE tiles 121/121 +04:27:20 Saved outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.png in 61.965s +{"case": "holdout-detail", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "validation", "seconds": 61.96455545909703, "peak_memory_bytes": 42680556536, "mlx_peak_bytes": 40916130420, "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", "output": "outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.png", "nonfinite_values": 0, "step_seconds": [9.82555766706355, 10.011389791965485, 10.023319042054936, 9.948340374976397, 9.975905125029385, 10.093045125016943]} +04:27:23 Conditioning cache hit: 1093 effective tokens +04:27:25 Encoded edit reference 1/1 +04:27:25 Loading cached native AdaLN schedule cache/adaln-5be858fe25a798948bdcf804.safetensors +04:27:41 DiT step 1/6: 16.138s, 36.74 GiB active +04:27:59 DiT step 2/6: 17.325s, 36.74 GiB active +04:28:16 DiT step 3/6: 17.102s, 36.75 GiB active +04:28:33 DiT step 4/6: 17.527s, 36.75 GiB active +04:28:50 DiT step 5/6: 17.179s, 36.76 GiB active +04:29:08 DiT step 6/6: 17.103s, 36.76 GiB active +04:29:09 VAE tiles 121/121 +04:29:09 Saved outputs/optimization-r3-qk/edit/control-validation-0.png in 107.014s +{"case": "edit", "variant": "control", "repeat": 0, "phase": "validation", "seconds": 107.01361245894805, "peak_memory_bytes": 43741371432, "mlx_peak_bytes": 41374837336, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3-qk/edit/control-validation-0.png", "nonfinite_values": 0, "step_seconds": [16.138278875034302, 17.324966541025788, 17.10170820890926, 17.527415458112955, 17.178513792110607, 17.10299470787868]} +04:29:09 Conditioning cache hit: 1093 effective tokens +04:29:12 Encoded edit reference 1/1 +04:29:27 DiT step 1/6: 15.592s, 36.74 GiB active +04:29:43 DiT step 2/6: 16.149s, 36.74 GiB active +04:29:59 DiT step 3/6: 16.149s, 36.75 GiB active +04:30:16 DiT step 4/6: 16.131s, 36.75 GiB active +04:30:32 DiT step 5/6: 16.082s, 36.76 GiB active +04:30:48 DiT step 6/6: 16.001s, 36.76 GiB active +04:30:49 VAE tiles 121/121 +04:30:49 Saved outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.png in 100.122s +{"case": "edit", "variant": "qk-fc2-native-norm", "repeat": 0, "phase": "validation", "seconds": 100.12193545908667, "peak_memory_bytes": 43484077144, "mlx_peak_bytes": 41450424033, "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", "output": "outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.png", "nonfinite_values": 0, "step_seconds": [15.591749583836645, 16.14866058388725, 16.148559999885038, 16.13089166698046, 16.0815456667915, 16.000552749959752]} diff --git a/reports/optimization-r3/qk-trace-audit.json b/reports/optimization-r3/qk-trace-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..50aa25ee84971cd2e5d7b115332c195a6a431e7d --- /dev/null +++ b/reports/optimization-r3/qk-trace-audit.json @@ -0,0 +1,562 @@ +[ + { + "case": "product", + "variant": "control", + "repeat": -1, + "phase": "cold", + "seconds": 71.58487316616811, + "peak_memory_bytes": 41102595600, + "mlx_peak_bytes": 40352740044, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/control-cold--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 15.364340125117451, + 10.209481959231198, + 10.888079207856208, + 10.992024667095393, + 10.872787541011348, + 10.647549249930307 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": -1, + "phase": "warmup", + "seconds": 63.7890035409946, + "peak_memory_bytes": 41568933872, + "mlx_peak_bytes": 40911082896, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.829503833083436, + 10.124922458082438, + 10.31916404189542, + 10.373383583966643, + 10.494951708009467, + 10.491471792105585 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 67.02427170914598, + "peak_memory_bytes": 42670611112, + "mlx_peak_bytes": 40836142444, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.8694685830269, + 11.024087708909065, + 10.974625166971236, + 10.970295834122226, + 10.889125291956589, + 10.934292541118339 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "timed", + "seconds": 63.90098704188131, + "peak_memory_bytes": 42450606784, + "mlx_peak_bytes": 40911082900, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.22877712501213, + 10.409983040997759, + 10.289188583847135, + 10.299693416105583, + 10.278323167003691, + 10.27706433297135 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": 1, + "phase": "timed", + "seconds": 64.23788916692138, + "peak_memory_bytes": 42492910320, + "mlx_peak_bytes": 40911082896, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.401296249823645, + 10.536568582989275, + 10.530235250014812, + 10.407892124960199, + 10.354520708089694, + 10.410326207987964 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 66.80325495894067, + "peak_memory_bytes": 42924694280, + "mlx_peak_bytes": 40761185680, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.729648708831519, + 10.87542050005868, + 10.834918207954615, + 10.80728083406575, + 10.764596584020182, + 10.683254458010197 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 2, + "phase": "timed", + "seconds": 64.55974454106763, + "peak_memory_bytes": 42825210656, + "mlx_peak_bytes": 40836142336, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/control-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.245667750015855, + 10.34607325005345, + 10.56147012510337, + 10.57638662494719, + 10.428546665934846, + 10.353422415908426 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2-native-norm", + "repeat": 2, + "phase": "timed", + "seconds": 61.27363566705026, + "peak_memory_bytes": 42598718264, + "mlx_peak_bytes": 40911082896, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.65336541691795, + 9.890516959130764, + 9.916269375011325, + 9.877202207921073, + 9.981639000121504, + 9.883080916944891 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": -1, + "phase": "warmup", + "seconds": 63.665249082958326, + "peak_memory_bytes": 42910276456, + "mlx_peak_bytes": 40792331692, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-qk/portrait/control-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.998623083112761, + 10.284833875019103, + 10.609914500033483, + 10.273679625010118, + 10.21539608296007, + 10.231458166847005 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2-native-norm", + "repeat": -1, + "phase": "warmup", + "seconds": 61.69332629116252, + "peak_memory_bytes": 42689043352, + "mlx_peak_bytes": 40909920220, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.710975375026464, + 9.927052166080102, + 9.86899883300066, + 9.911723082885146, + 10.16768925008364, + 10.056352417217568 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 64.2339057920035, + "peak_memory_bytes": 42946304968, + "mlx_peak_bytes": 40760121308, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-qk/portrait/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.410045666852966, + 10.420791167067364, + 10.387041166890413, + 10.363457958912477, + 10.30392266716808, + 10.31452420912683 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2-native-norm", + "repeat": 0, + "phase": "timed", + "seconds": 60.65490966709331, + "peak_memory_bytes": 42673544112, + "mlx_peak_bytes": 40909920220, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.715915624983609, + 9.817784250015393, + 9.768883208977059, + 9.779015209060162, + 9.768648916855454, + 9.780800291104242 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2-native-norm", + "repeat": 1, + "phase": "timed", + "seconds": 61.10937987500802, + "peak_memory_bytes": 42671692696, + "mlx_peak_bytes": 40909920220, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.22073854203336, + 9.670754499966279, + 9.783159208949655, + 9.909761416958645, + 9.98343720799312, + 10.032066999934614 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 64.86302212486044, + "peak_memory_bytes": 42922826672, + "mlx_peak_bytes": 40760121308, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3-qk/portrait/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.273641292005777, + 10.43382520810701, + 10.464569084113464, + 10.499002415919676, + 10.472895958926529, + 10.643158541060984 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + } +] diff --git a/reports/optimization-r3/research-audit.log b/reports/optimization-r3/research-audit.log new file mode 100644 index 0000000000000000000000000000000000000000..583a5be2833a15c3cb0fa66a4e878102f61cce74 --- /dev/null +++ b/reports/optimization-r3/research-audit.log @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3", + "cases": { + "product": { + "control": { + "samples_s": [ + 68.59933650004677, + 67.6780596668832, + 66.15550529095344 + ], + "median_s": 67.6780596668832, + "min_s": 66.15550529095344, + "max_s": 68.59933650004677, + "peak_physical_bytes": 42964867704, + "peak_mlx_bytes": 40836142240 + }, + "qk-fc2": { + "samples_s": [ + 65.93319679214619, + 64.01737074996345, + 63.998171125072986 + ], + "median_s": 64.01737074996345, + "min_s": 63.998171125072986, + "max_s": 65.93319679214619, + "peak_physical_bytes": 42437024448, + "peak_mlx_bytes": 40731251916 + }, + "reduction_pct": 5.4089743927913325 + }, + "portrait": { + "control": { + "samples_s": [ + 68.0219049169682, + 66.10143391694874, + 66.39527866686694 + ], + "median_s": 66.39527866686694, + "min_s": 66.10143391694874, + "max_s": 68.0219049169682, + "peak_physical_bytes": 43090402152, + "peak_mlx_bytes": 40835028428 + }, + "qk-fc2": { + "samples_s": [ + 63.14736045780592, + 63.36688454193063, + 63.248574083903804 + ], + "median_s": 63.248574083903804, + "min_s": 63.14736045780592, + "max_s": 63.36688454193063, + "peak_physical_bytes": 42692877208, + "peak_mlx_bytes": 40900384316 + }, + "reduction_pct": 4.739349914850843 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/research/quality-audit.json b/reports/optimization-r3/research/quality-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..0eafa0927a1ee032d7b2fb19a8ec67417c142515 --- /dev/null +++ b/reports/optimization-r3/research/quality-audit.json @@ -0,0 +1,362 @@ +[ + { + "output": "outputs/optimization-r3/product/control-cold--1.png", + "case": "product", + "variant": "control", + "phase": "cold", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/qk-fc2-warmup--1.png", + "case": "product", + "variant": "qk-fc2", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/control-timed-0.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/qk-fc2-timed-0.png", + "case": "product", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/qk-fc2-timed-1.png", + "case": "product", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/control-timed-1.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/control-timed-2.png", + "case": "product", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/product/qk-fc2-timed-2.png", + "case": "product", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/control-warmup--1.png", + "case": "portrait", + "variant": "control", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/qk-fc2-warmup--1.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/control-timed-0.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/qk-fc2-timed-0.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/qk-fc2-timed-1.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/control-timed-1.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/control-timed-2.png", + "case": "portrait", + "variant": "control", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/portrait/qk-fc2-timed-2.png", + "case": "portrait", + "variant": "qk-fc2", + "phase": "timed", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/holdout-detail/control-warmup--1.png", + "case": "holdout-detail", + "variant": "control", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.png", + "case": "holdout-detail", + "variant": "qk-fc2", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/holdout-detail/control-validation-0.png", + "case": "holdout-detail", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png", + "case": "holdout-detail", + "variant": "qk-fc2", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/edit/control-warmup--1.png", + "case": "edit", + "variant": "control", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/edit/qk-fc2-warmup--1.png", + "case": "edit", + "variant": "qk-fc2", + "phase": "warmup", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/edit/control-validation-0.png", + "case": "edit", + "variant": "control", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + }, + { + "output": "outputs/optimization-r3/edit/qk-fc2-validation-0.png", + "case": "edit", + "variant": "qk-fc2", + "phase": "validation", + "metrics": { + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + "trace_identical": true, + "different_trace_tensors": [] + } +] diff --git a/reports/optimization-r3/research/summary.json b/reports/optimization-r3/research/summary.json new file mode 100644 index 0000000000000000000000000000000000000000..583a5be2833a15c3cb0fa66a4e878102f61cce74 --- /dev/null +++ b/reports/optimization-r3/research/summary.json @@ -0,0 +1,62 @@ +{ + "root": "outputs/optimization-r3", + "cases": { + "product": { + "control": { + "samples_s": [ + 68.59933650004677, + 67.6780596668832, + 66.15550529095344 + ], + "median_s": 67.6780596668832, + "min_s": 66.15550529095344, + "max_s": 68.59933650004677, + "peak_physical_bytes": 42964867704, + "peak_mlx_bytes": 40836142240 + }, + "qk-fc2": { + "samples_s": [ + 65.93319679214619, + 64.01737074996345, + 63.998171125072986 + ], + "median_s": 64.01737074996345, + "min_s": 63.998171125072986, + "max_s": 65.93319679214619, + "peak_physical_bytes": 42437024448, + "peak_mlx_bytes": 40731251916 + }, + "reduction_pct": 5.4089743927913325 + }, + "portrait": { + "control": { + "samples_s": [ + 68.0219049169682, + 66.10143391694874, + 66.39527866686694 + ], + "median_s": 66.39527866686694, + "min_s": 66.10143391694874, + "max_s": 68.0219049169682, + "peak_physical_bytes": 43090402152, + "peak_mlx_bytes": 40835028428 + }, + "qk-fc2": { + "samples_s": [ + 63.14736045780592, + 63.36688454193063, + 63.248574083903804 + ], + "median_s": 63.248574083903804, + "min_s": 63.14736045780592, + "max_s": 63.36688454193063, + "peak_physical_bytes": 42692877208, + "peak_mlx_bytes": 40900384316 + }, + "reduction_pct": 4.739349914850843 + } + }, + "all_pixel_identical": true, + "all_trace_identical": true, + "scope": "Paired warm complete generation including encoding-cache checks, six heads, decode, trace/PNG save. Parent physical footprint sampled every 100ms; both compiled variants can be resident." +} diff --git a/reports/optimization-r3/screen-decisions.json b/reports/optimization-r3/screen-decisions.json new file mode 100644 index 0000000000000000000000000000000000000000..06832fa32c9474cb7efc2e3ea07a9d92184f8bb1 --- /dev/null +++ b/reports/optimization-r3/screen-decisions.json @@ -0,0 +1,67 @@ +{ + "distinct_mpp_tiles": 72, + "attention_layout_settings": 6, + "unpack_settings": 12, + "decisions": [ + { + "id": "attention-layout", + "decision": "rejected", + "evidence": "screen.json", + "reason": "All six preserve bits. Best layout gain below 0.5%; full QKV copying slower; no dispatch change." + }, + { + "id": "vector-unpack", + "decision": "rejected-for-throughput", + "evidence": "screen.json", + "reason": "Decode alone improves about 20%, but decode+GEMM benefits are small or negative. Scalar codec remains the deployed implementation." + }, + { + "id": "dual-fc1-swiglu", + "decision": "rejected", + "evidence": "fc1.json", + "reason": "Eight tested tiles preserve bits, all slower than compiled native FC1+SwiGLU. Best reduction_pct=-0.6940844599806928" + }, + { + "id": "bk2048", + "decision": "rejected", + "evidence": "panel.json", + "reason": "Operator improvement did not survive the complete exact fused block; reduction_pct=-0.1895493265225756" + }, + { + "id": "fc2-range", + "decision": "qualified-operator", + "evidence": [ + "shapes.json", + "shapes-extra.json" + ], + "reason": "Positive exact gains for real product and edit activations and repeated real edit activations at 8192. Under 1% at 16478, so native 4K fallback retained." + }, + { + "id": "norm-tg256-512", + "decision": "rejected-quality", + "evidence": "norm.json", + "reason": "Changed BF16 values even with native rsqrt and four-lane reads. No deployment or full-image speed claim; previous differing-normalization image stacks remain in v2." + }, + { + "id": "norm-tg1024", + "decision": "qualified-operator-and-block", + "evidence": "norm.json", + "reason": "Native loop/reduction order and BF16 boundaries match on actual first-block operator and complete block; full production trajectory validation required." + }, + { + "id": "qk-native-reduction", + "decision": "qualified-full-research-suite", + "evidence": [ + "blocks.json", + "research/quality-audit.json" + ], + "reason": "Four contiguous reads per lane + precise rsqrt correct the earlier differing QK fusion; exact full tensors and pixels on four cases in research runner." + }, + { + "id": "selected-embedding-rows", + "decision": "accepted", + "evidence": "embedding/summary.json", + "reason": "Native selected BF16 payload bits match across fresh-process AB/BA trials, padding/duplicates/endpoints covered; phase-specific improvement only." + } + ] +} diff --git a/reports/optimization-r3/screen-initial.json b/reports/optimization-r3/screen-initial.json new file mode 100644 index 0000000000000000000000000000000000000000..8670c7dbca911dd123046b959c993ca215370a67 --- /dev/null +++ b/reports/optimization-r3/screen-initial.json @@ -0,0 +1,1069 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Actual saved first-block activations, one GPU job, counterbalanced warmed calls including layout/decode costs. Operator evidence only.", + "trials": [ + { + "group": "attention", + "variant": "q", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 25.29854152817279, + "min_ms": 24.697290966287255, + "max_ms": 26.445457944646478, + "samples_ms": [ + 25.25966614484787, + 25.221708929166198, + 24.697290966287255, + 25.337416911497712, + 26.445457944646478, + 25.767792016267776 + ] + }, + "candidate": { + "median_ms": 25.85845801513642, + "min_ms": 25.21937503479421, + "max_ms": 26.969833998009562, + "samples_ms": [ + 25.5732499063015, + 26.969833998009562, + 25.21937503479421, + 25.925040943548083, + 25.791875086724758, + 26.10474987886846 + ] + }, + "reduction_pct": -2.2132362307925924, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "k", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 26.20543702505529, + "min_ms": 25.752374902367592, + "max_ms": 26.57158300280571, + "samples_ms": [ + 25.782624958083034, + 26.211207965388894, + 26.57158300280571, + 26.279167039319873, + 26.199666084721684, + 25.752374902367592 + ] + }, + "candidate": { + "median_ms": 26.317708427086473, + "min_ms": 25.898332940414548, + "max_ms": 26.895249960944057, + "samples_ms": [ + 25.898332940414548, + 26.31920902058482, + 26.239249855279922, + 26.895249960944057, + 26.78008400835097, + 26.316207833588123 + ] + }, + "reduction_pct": -0.42842789427186556, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "v", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 26.858124998398125, + "min_ms": 26.17204189300537, + "max_ms": 27.15720795094967, + "samples_ms": [ + 27.006583055481315, + 26.709666941314936, + 26.31966699846089, + 26.17204189300537, + 27.15720795094967, + 27.045499999076128 + ] + }, + "candidate": { + "median_ms": 26.744915987364948, + "min_ms": 26.116249850019813, + "max_ms": 27.01420779339969, + "samples_ms": [ + 26.773415971547365, + 26.116249850019813, + 26.71641600318253, + 26.796292047947645, + 26.38900000602007, + 27.01420779339969 + ] + }, + "reduction_pct": 0.4215074992760304, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "kv", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 26.695103966630995, + "min_ms": 26.05529106222093, + "max_ms": 27.2064171731472, + "samples_ms": [ + 26.333791902288795, + 26.05529106222093, + 26.562999933958054, + 27.10829209536314, + 26.827207999303937, + 27.2064171731472 + ] + }, + "candidate": { + "median_ms": 28.822416556067765, + "min_ms": 27.573708212003112, + "max_ms": 29.26095901057124, + "samples_ms": [ + 28.851791052147746, + 28.79554219543934, + 29.26095901057124, + 27.573708212003112, + 28.84929091669619, + 28.213000157848 + ] + }, + "reduction_pct": -7.9689241596358595, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "qk", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 27.338978950865567, + "min_ms": 26.72087517566979, + "max_ms": 27.7062498498708, + "samples_ms": [ + 26.72087517566979, + 27.375249890610576, + 27.7062498498708, + 27.465333929285407, + 27.302708011120558, + 26.962917065247893 + ] + }, + "candidate": { + "median_ms": 27.81647944357246, + "min_ms": 27.56862505339086, + "max_ms": 28.574875090271235, + "samples_ms": [ + 27.77000004425645, + 27.756375027820468, + 27.862958842888474, + 27.56862505339086, + 28.066290775313973, + 28.574875090271235 + ] + }, + "reduction_pct": -1.7465922687349478, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "qkv", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 27.105562505312264, + "min_ms": 26.939583010971546, + "max_ms": 27.794708963483572, + "samples_ms": [ + 26.9512920640409, + 26.965250028297305, + 26.939583010971546, + 27.470084140077233, + 27.245874982327223, + 27.794708963483572 + ] + }, + "candidate": { + "median_ms": 29.57308362238109, + "min_ms": 29.383666114881635, + "max_ms": 29.900791123509407, + "samples_ms": [ + 29.388041933998466, + 29.383666114881635, + 29.839250026270747, + 29.67100008390844, + 29.900791123509407, + 29.475167160853744 + ] + }, + "reduction_pct": -9.103375429250837, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 512 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 512 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 512 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 512 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "error": "TypeError: __call__(): incompatible function arguments. The following argument types are supported:\n 1. __call__(self, *, inputs: list[scalar | array], output_shapes: list[Sequence[int]], output_dtypes: list[Dtype], grid: tuple[int, int, int], threadgroup: tuple[int, int, int], template: list[tuple[str, bool | int | Dtype]] | None = None, init_value: float | None = None, verbose: bool = false, stream: StreamOrDevice = None)\n\nInvoked with types: kwargs = { inputs: list, template: list, grid: tuple, threadgroup: tuple, output_shapes: list, output_dtypes: list }" + } + ], + "activation_ranges": { + "qkv": { + "shape": [ + 4181, + 5376 + ], + "max_abs": 10.0625 + }, + "out": { + "shape": [ + 4181, + 7168 + ], + "max_abs": 38.75 + }, + "fc1": { + "shape": [ + 4181, + 5376 + ], + "max_abs": 3.21875 + }, + "fc2": { + "shape": [ + 4181, + 14336 + ], + "max_abs": 4640.0 + } + } +} diff --git a/reports/optimization-r3/screen.json b/reports/optimization-r3/screen.json new file mode 100644 index 0000000000000000000000000000000000000000..6f17a7aecdf68a073c8ee34d8d2769f489848abd --- /dev/null +++ b/reports/optimization-r3/screen.json @@ -0,0 +1,4772 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Actual saved first-block activations, one GPU job, counterbalanced warmed calls including layout/decode costs. Operator evidence only.", + "trials": [ + { + "group": "attention", + "variant": "q", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 25.229458115063608, + "min_ms": 25.031917029991746, + "max_ms": 25.60575003735721, + "samples_ms": [ + 25.268583092838526, + 25.075667072087526, + 25.19033313728869, + 25.031917029991746, + 25.60575003735721, + 25.284667033702135 + ] + }, + "candidate": { + "median_ms": 25.469625601544976, + "min_ms": 25.04358277656138, + "max_ms": 27.149833040311933, + "samples_ms": [ + 25.305458111688495, + 25.851749815046787, + 25.04358277656138, + 25.56595904752612, + 25.37329215556383, + 27.149833040311933 + ] + }, + "reduction_pct": -0.9519327977083103, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "k", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 25.859437533654273, + "min_ms": 25.340416003018618, + "max_ms": 26.08179091475904, + "samples_ms": [ + 25.340416003018618, + 25.849125115200877, + 25.9084589779377, + 25.79154190607369, + 25.869749952107668, + 26.08179091475904 + ] + }, + "candidate": { + "median_ms": 26.141000096686184, + "min_ms": 25.78525012359023, + "max_ms": 26.738915825262666, + "samples_ms": [ + 25.89174988679588, + 25.78525012359023, + 26.06958313845098, + 26.21241705492139, + 26.308625005185604, + 26.738915825262666 + ] + }, + "reduction_pct": -1.0888193630100407, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "v", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 26.5235414262861, + "min_ms": 26.06820804066956, + "max_ms": 26.9916660618037, + "samples_ms": [ + 26.572000002488494, + 26.06820804066956, + 26.71158406883478, + 26.47508285008371, + 26.14770899526775, + 26.9916660618037 + ] + }, + "candidate": { + "median_ms": 26.45568735897541, + "min_ms": 25.472500128671527, + "max_ms": 26.980499969795346, + "samples_ms": [ + 25.472500128671527, + 26.262166909873486, + 26.980499969795346, + 26.169166900217533, + 26.649207808077335, + 26.651000138372183 + ] + }, + "reduction_pct": 0.25582581986371977, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "kv", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 26.858228840865195, + "min_ms": 26.246291119605303, + "max_ms": 27.52129198051989, + "samples_ms": [ + 27.52129198051989, + 26.246291119605303, + 26.920874835923314, + 26.890749810263515, + 26.825707871466875, + 26.35725005529821 + ] + }, + "candidate": { + "median_ms": 27.170770918019116, + "min_ms": 26.904917089268565, + "max_ms": 27.513458160683513, + "samples_ms": [ + 27.103166794404387, + 27.238375041633844, + 27.05774991773069, + 26.904917089268565, + 27.513458160683513, + 27.28683315217495 + ] + }, + "reduction_pct": -1.163673446248925, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "qk", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 27.14068756904453, + "min_ms": 26.804166147485375, + "max_ms": 27.53179194405675, + "samples_ms": [ + 27.08041714504361, + 27.53179194405675, + 27.262166142463684, + 26.89216611906886, + 27.20095799304545, + 26.804166147485375 + ] + }, + "candidate": { + "median_ms": 27.800749870948493, + "min_ms": 27.702665887773037, + "max_ms": 28.138082940131426, + "samples_ms": [ + 27.702665887773037, + 27.784874895587564, + 27.734083821997046, + 27.816624846309423, + 28.138082940131426, + 28.064000187441707 + ] + }, + "reduction_pct": -2.4320028747422118, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "attention", + "variant": "qkv", + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 27.442208491265774, + "min_ms": 26.71104110777378, + "max_ms": 27.863250114023685, + "samples_ms": [ + 27.492749970406294, + 27.391667012125254, + 27.72591612301767, + 27.863250114023685, + 27.305457973852754, + 26.71104110777378 + ] + }, + "candidate": { + "median_ms": 28.753166552633047, + "min_ms": 28.096041874960065, + "max_ms": 29.45591602474451, + "samples_ms": [ + 28.803500114008784, + 28.70283299125731, + 28.096041874960065, + 28.122124960646033, + 29.45591602474451, + 28.994416119530797 + ] + }, + "reduction_pct": -4.7771594687232355, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 32.69812499638647, + "min_ms": 32.49645885080099, + "max_ms": 33.13204203732312, + "samples_ms": [ + 32.848249888047576, + 32.50425006262958, + 32.49645885080099, + 32.93229197151959, + 33.13204203732312, + 32.54800010472536 + ] + }, + "candidate": { + "median_ms": 46.483063022606075, + "min_ms": 44.436374912038445, + "max_ms": 46.96791688911617, + "samples_ms": [ + 46.82158399373293, + 44.436374912038445, + 46.14454205147922, + 45.50975002348423, + 46.96791688911617, + 46.862542163580656 + ] + }, + "reduction_pct": -42.15819111261887, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.702207962051034, + "min_ms": 33.23649987578392, + "max_ms": 34.3878751154989, + "samples_ms": [ + 33.23649987578392, + 33.68545789271593, + 33.96387514658272, + 34.3878751154989, + 33.64429180510342, + 33.71895803138614 + ] + }, + "candidate": { + "median_ms": 30.430083512328565, + "min_ms": 29.547041980549693, + "max_ms": 32.16029214672744, + "samples_ms": [ + 29.918708838522434, + 30.43100005015731, + 32.16029214672744, + 29.547041980549693, + 30.42916697449982, + 30.4317909758538 + ] + }, + "reduction_pct": 9.708931988690207, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.28241698909551, + "min_ms": 33.0401249229908, + "max_ms": 33.49166689440608, + "samples_ms": [ + 33.4627500269562, + 33.33674999885261, + 33.49166689440608, + 33.14974997192621, + 33.22808397933841, + 33.0401249229908 + ] + }, + "candidate": { + "median_ms": 45.94068753067404, + "min_ms": 44.2713750526309, + "max_ms": 46.81620793417096, + "samples_ms": [ + 45.48799991607666, + 46.39337514527142, + 46.77283298224211, + 46.81620793417096, + 45.39870913140476, + 44.2713750526309 + ] + }, + "reduction_pct": -38.03290652156011, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.980124979279935, + "min_ms": 33.76808296889067, + "max_ms": 34.726041834801435, + "samples_ms": [ + 33.94587500952184, + 33.76808296889067, + 34.01437494903803, + 33.8490828871727, + 34.5814588945359, + 34.726041834801435 + ] + }, + "candidate": { + "median_ms": 30.394604080356658, + "min_ms": 29.724291991442442, + "max_ms": 31.81616705842316, + "samples_ms": [ + 30.098708113655448, + 29.724291991442442, + 31.81616705842316, + 31.27020807005465, + 30.690500047057867, + 29.959790874272585 + ] + }, + "reduction_pct": 10.551817867384605, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 32.97620837111026, + "min_ms": 32.364374957978725, + "max_ms": 33.496208023279905, + "samples_ms": [ + 32.364374957978725, + 33.023957861587405, + 32.54604106768966, + 32.928458880633116, + 33.078499836847186, + 33.496208023279905 + ] + }, + "candidate": { + "median_ms": 44.57024997100234, + "min_ms": 43.49741595797241, + "max_ms": 45.911625027656555, + "samples_ms": [ + 44.575999956578016, + 45.71600002236664, + 44.51462486758828, + 44.564499985426664, + 45.911625027656555, + 43.49741595797241 + ] + }, + "reduction_pct": -35.158807432965425, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.583750016987324, + "min_ms": 32.85624994896352, + "max_ms": 34.44895800203085, + "samples_ms": [ + 32.85624994896352, + 33.038708148524165, + 33.43666600994766, + 34.1495000757277, + 34.44895800203085, + 33.73083402402699 + ] + }, + "candidate": { + "median_ms": 29.923375113867223, + "min_ms": 28.22491596452892, + "max_ms": 30.517749954015017, + "samples_ms": [ + 30.457957880571485, + 28.22491596452892, + 28.807041933760047, + 29.71458318643272, + 30.132167041301727, + 30.517749954015017 + ] + }, + "reduction_pct": 10.89924413226221, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.13168743625283, + "min_ms": 32.98945794813335, + "max_ms": 33.945250092074275, + "samples_ms": [ + 33.16450002603233, + 33.098874846473336, + 33.945250092074275, + 32.98945794813335, + 33.26154197566211, + 33.072917023673654 + ] + }, + "candidate": { + "median_ms": 53.310583578422666, + "min_ms": 53.09424991719425, + "max_ms": 53.87866706587374, + "samples_ms": [ + 53.130083018913865, + 53.09424991719425, + 53.173334104940295, + 53.684249985963106, + 53.447833051905036, + 53.87866706587374 + ] + }, + "reduction_pct": -60.90512649256132, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.71137548331171, + "min_ms": 34.47116701863706, + "max_ms": 35.334791988134384, + "samples_ms": [ + 34.511875128373504, + 34.80858402326703, + 34.614166943356395, + 35.0277500692755, + 35.334791988134384, + 34.47116701863706 + ] + }, + "candidate": { + "median_ms": 33.90649997163564, + "min_ms": 32.41004212759435, + "max_ms": 35.40570801123977, + "samples_ms": [ + 32.41004212759435, + 33.353874925523996, + 34.77708389982581, + 33.19504205137491, + 35.40570801123977, + 34.45912501774728 + ] + }, + "reduction_pct": 2.3187658237946662, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.76337548252195, + "min_ms": 33.24000001884997, + "max_ms": 34.47937499731779, + "samples_ms": [ + 33.30691694281995, + 33.24000001884997, + 33.71295891702175, + 33.81379204802215, + 34.47937499731779, + 33.92070787958801 + ] + }, + "candidate": { + "median_ms": 53.14691655803472, + "min_ms": 52.84675001166761, + "max_ms": 53.39562497101724, + "samples_ms": [ + 53.18125011399388, + 53.11258300207555, + 53.39562497101724, + 53.26724983751774, + 52.84675001166761, + 53.013459080830216 + ] + }, + "reduction_pct": -57.40996212166911, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.07014596834779, + "min_ms": 34.801292000338435, + "max_ms": 35.45666695572436, + "samples_ms": [ + 34.801292000338435, + 34.80708389542997, + 34.918874967843294, + 35.22141696885228, + 35.45666695572436, + 35.4250418022275 + ] + }, + "candidate": { + "median_ms": 33.909062505699694, + "min_ms": 33.21541682817042, + "max_ms": 35.0338751450181, + "samples_ms": [ + 33.57775020413101, + 33.88270805589855, + 33.93541695550084, + 33.21541682817042, + 35.0338751450181, + 34.80620798654854 + ] + }, + "reduction_pct": 3.310746022260691, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.45052036456764, + "min_ms": 33.10804208740592, + "max_ms": 34.30433291941881, + "samples_ms": [ + 33.10804208740592, + 33.283333061262965, + 33.33395789377391, + 33.56708283536136, + 34.30433291941881, + 33.7523331400007 + ] + }, + "candidate": { + "median_ms": 53.67537494748831, + "min_ms": 53.04420809261501, + "max_ms": 53.82925015874207, + "samples_ms": [ + 53.38458297774196, + 53.04420809261501, + 53.75545797869563, + 53.82925015874207, + 53.595291916280985, + 53.80429094657302 + ] + }, + "reduction_pct": -60.462002870196855, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 128, + 512 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.256957937031984, + "min_ms": 33.05050008930266, + "max_ms": 34.71174999140203, + "samples_ms": [ + 33.05050008930266, + 34.18091591447592, + 34.33299995958805, + 34.11058313213289, + 34.71174999140203, + 34.46020791307092 + ] + }, + "candidate": { + "median_ms": 35.579250077717006, + "min_ms": 30.861708102747798, + "max_ms": 37.281750002875924, + "samples_ms": [ + 30.861708102747798, + 36.76758403889835, + 33.990791998803616, + 34.494500141590834, + 37.281750002875924, + 36.66400001384318 + ] + }, + "reduction_pct": -3.859922831196916, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.25187540799379, + "min_ms": 35.1625420153141, + "max_ms": 35.65299999900162, + "samples_ms": [ + 35.25291685946286, + 35.63412488438189, + 35.20904202014208, + 35.65299999900162, + 35.1625420153141, + 35.25083395652473 + ] + }, + "candidate": { + "median_ms": 41.61843750625849, + "min_ms": 40.902707958593965, + "max_ms": 42.40504209883511, + "samples_ms": [ + 40.902707958593965, + 41.42266698181629, + 41.77608294412494, + 41.49625007994473, + 41.740624932572246, + 42.40504209883511 + ] + }, + "reduction_pct": -18.06020821468408, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.97972891293466, + "min_ms": 35.42249999009073, + "max_ms": 36.18470882065594, + "samples_ms": [ + 35.42249999009073, + 35.77129193581641, + 36.18470882065594, + 35.905207972973585, + 36.17508406750858, + 36.05424985289574 + ] + }, + "candidate": { + "median_ms": 41.706104413606226, + "min_ms": 41.30979208275676, + "max_ms": 42.23008407279849, + "samples_ms": [ + 41.54358385130763, + 41.39179200865328, + 41.30979208275676, + 41.86862497590482, + 42.23008407279849, + 42.11949999444187 + ] + }, + "reduction_pct": -15.915560438291521, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.98637506365776, + "min_ms": 35.6951670255512, + "max_ms": 36.42770810984075, + "samples_ms": [ + 36.040708189830184, + 35.6951670255512, + 36.04087489657104, + 36.42770810984075, + 35.93204193748534, + 35.81187501549721 + ] + }, + "candidate": { + "median_ms": 38.65062491968274, + "min_ms": 38.38008316233754, + "max_ms": 39.08629110082984, + "samples_ms": [ + 38.97504205815494, + 39.08629110082984, + 38.65654184482992, + 38.402500096708536, + 38.644707994535565, + 38.38008316233754 + ] + }, + "reduction_pct": -7.403496049024327, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 36.38777043670416, + "min_ms": 35.99750017747283, + "max_ms": 36.600833060219884, + "samples_ms": [ + 36.341457860544324, + 36.253374768421054, + 36.434083012863994, + 35.99750017747283, + 36.600833060219884, + 36.55995801091194 + ] + }, + "candidate": { + "median_ms": 38.49864553194493, + "min_ms": 38.053416879847646, + "max_ms": 39.50450010597706, + "samples_ms": [ + 38.49220811389387, + 38.053416879847646, + 39.16970896534622, + 38.505082949995995, + 39.50450010597706, + 38.24616689234972 + ] + }, + "reduction_pct": -5.80105642612152, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.68329208064824, + "min_ms": 34.19204195961356, + "max_ms": 35.95762513577938, + "samples_ms": [ + 34.19204195961356, + 35.526125226169825, + 35.32066592015326, + 35.90862499549985, + 35.84045893512666, + 35.95762513577938 + ] + }, + "candidate": { + "median_ms": 41.27647902350873, + "min_ms": 39.94083311408758, + "max_ms": 42.64591680839658, + "samples_ms": [ + 39.94083311408758, + 40.246833115816116, + 41.21075011789799, + 41.34220792911947, + 42.0346250757575, + 42.64591680839658 + ] + }, + "reduction_pct": -15.674526134582134, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.55281204171479, + "min_ms": 33.824458019807935, + "max_ms": 36.18891700170934, + "samples_ms": [ + 33.824458019807935, + 34.69358291476965, + 35.19083303399384, + 35.914791049435735, + 36.18891700170934, + 36.066832952201366 + ] + }, + "candidate": { + "median_ms": 41.01883352268487, + "min_ms": 39.21595914289355, + "max_ms": 42.39054210484028, + "samples_ms": [ + 39.21595914289355, + 40.27725011110306, + 40.73312506079674, + 41.77387501113117, + 41.30454198457301, + 42.39054210484028 + ] + }, + "reduction_pct": -15.374371722148727, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.35712510347366, + "min_ms": 35.100291948765516, + "max_ms": 36.129374988377094, + "samples_ms": [ + 35.100291948765516, + 35.18845792859793, + 35.36375006660819, + 36.129374988377094, + 35.804207902401686, + 35.350500140339136 + ] + }, + "candidate": { + "median_ms": 37.16656262986362, + "min_ms": 36.86491586267948, + "max_ms": 37.45754202827811, + "samples_ms": [ + 37.261624820530415, + 37.09358419291675, + 36.86491586267948, + 37.13512513786554, + 37.198000121861696, + 37.45754202827811 + ] + }, + "reduction_pct": -5.117603654410763, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.8905210159719, + "min_ms": 35.524999955669045, + "max_ms": 37.069333950057626, + "samples_ms": [ + 37.069333950057626, + 35.88324994780123, + 35.55295802652836, + 35.897792084142566, + 35.91241594403982, + 35.524999955669045 + ] + }, + "candidate": { + "median_ms": 34.55870854668319, + "min_ms": 34.21016689389944, + "max_ms": 34.83779216185212, + "samples_ms": [ + 34.40679213963449, + 34.21016689389944, + 34.45874992758036, + 34.65866716578603, + 34.728209022432566, + 34.83779216185212 + ] + }, + "reduction_pct": 3.710763821723362, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.92833341099322, + "min_ms": 35.62420909292996, + "max_ms": 36.63462493568659, + "samples_ms": [ + 35.71220790036023, + 35.62420909292996, + 36.52383293956518, + 36.14445892162621, + 35.690875025466084, + 36.63462493568659 + ] + }, + "candidate": { + "median_ms": 36.30470857024193, + "min_ms": 36.04741697199643, + "max_ms": 36.62204183638096, + "samples_ms": [ + 36.62204183638096, + 36.06554097495973, + 36.58712515607476, + 36.35266702622175, + 36.04741697199643, + 36.256750114262104 + ] + }, + "reduction_pct": -1.047571995459018, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 36.06770804617554, + "min_ms": 35.60099983587861, + "max_ms": 36.45800007507205, + "samples_ms": [ + 36.01370798423886, + 35.94916709698737, + 35.60099983587861, + 36.45800007507205, + 36.121708108112216, + 36.437375005334616 + ] + }, + "candidate": { + "median_ms": 33.5881250211969, + "min_ms": 32.341625075787306, + "max_ms": 35.77370895072818, + "samples_ms": [ + 33.67020818404853, + 33.50604185834527, + 33.68429187685251, + 35.77370895072818, + 33.483332954347134, + 32.341625075787306 + ] + }, + "reduction_pct": 6.874800643845069, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.10264598298818, + "min_ms": 33.59350003302097, + "max_ms": 35.836707800626755, + "samples_ms": [ + 33.59350003302097, + 34.17958412319422, + 34.87966698594391, + 35.80595809035003, + 35.836707800626755, + 35.325624980032444 + ] + }, + "candidate": { + "median_ms": 34.59241648670286, + "min_ms": 34.03295809403062, + "max_ms": 35.82058288156986, + "samples_ms": [ + 34.51408306136727, + 34.03295809403062, + 34.51770800165832, + 34.6671249717474, + 35.82058288156986, + 35.38491600193083 + ] + }, + "reduction_pct": 1.4535357150358141, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 128, + 512 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.038665984757245, + "min_ms": 34.09208310768008, + "max_ms": 35.7118749525398, + "samples_ms": [ + 34.09208310768008, + 34.88429100252688, + 34.823874942958355, + 35.7118749525398, + 35.65883287228644, + 35.19304096698761 + ] + }, + "candidate": { + "median_ms": 31.510208500549197, + "min_ms": 30.011584050953388, + "max_ms": 33.16824999637902, + "samples_ms": [ + 30.211166944354773, + 30.011584050953388, + 31.29887511022389, + 31.721541890874505, + 33.16824999637902, + 32.41729107685387 + ] + }, + "reduction_pct": 10.07018214033325, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.65337450709194, + "min_ms": 33.48512505181134, + "max_ms": 35.89512500911951, + "samples_ms": [ + 33.48512505181134, + 35.57479102164507, + 35.15933291055262, + 35.799749894067645, + 35.73195799253881, + 35.89512500911951 + ] + }, + "candidate": { + "median_ms": 44.1848955815658, + "min_ms": 42.33650001697242, + "max_ms": 44.950291980057955, + "samples_ms": [ + 42.33650001697242, + 43.28704113140702, + 44.05637504532933, + 44.31341611780226, + 44.46279187686741, + 44.950291980057955 + ] + }, + "reduction_pct": -23.929070368295214, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.47704196535051, + "min_ms": 33.64433301612735, + "max_ms": 35.964249866083264, + "samples_ms": [ + 33.64433301612735, + 34.54320807941258, + 35.272917011752725, + 35.964249866083264, + 35.91850004158914, + 35.68116691894829 + ] + }, + "candidate": { + "median_ms": 43.20979141630232, + "min_ms": 41.743291076272726, + "max_ms": 44.87358289770782, + "samples_ms": [ + 41.743291076272726, + 43.125208001583815, + 43.29437483102083, + 42.989624897018075, + 44.87358289770782, + 44.278624933212996 + ] + }, + "reduction_pct": -21.79648872221136, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.428583389148116, + "min_ms": 33.60733320005238, + "max_ms": 36.47991712205112, + "samples_ms": [ + 33.60733320005238, + 34.95291620492935, + 35.43745796196163, + 35.419708816334605, + 35.5549999512732, + 36.47991712205112 + ] + }, + "candidate": { + "median_ms": 39.55368744209409, + "min_ms": 38.16095786169171, + "max_ms": 40.5611670576036, + "samples_ms": [ + 38.26766600832343, + 38.16095786169171, + 39.1714998986572, + 40.25241709314287, + 39.93587498553097, + 40.5611670576036 + ] + }, + "reduction_pct": -11.643434928333885, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.1655624108389, + "min_ms": 33.86304201558232, + "max_ms": 35.9415418934077, + "samples_ms": [ + 33.86304201558232, + 34.836542094126344, + 34.958167001605034, + 35.37295782007277, + 35.50325008109212, + 35.9415418934077 + ] + }, + "candidate": { + "median_ms": 38.53777039330453, + "min_ms": 37.19449997879565, + "max_ms": 38.989333901554346, + "samples_ms": [ + 37.392625119537115, + 37.19449997879565, + 38.19366591051221, + 38.989333901554346, + 38.881874876096845, + 38.95575017668307 + ] + }, + "reduction_pct": -9.589518128753793, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 512 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.462542087771, + "min_ms": 34.29579199291766, + "max_ms": 48.445792170241475, + "samples_ms": [ + 34.29579199291766, + 35.15083296224475, + 35.159084014594555, + 36.64316702634096, + 48.445792170241475, + 35.76600016094744 + ] + }, + "candidate": { + "median_ms": 41.34410398546606, + "min_ms": 40.06324987858534, + "max_ms": 42.46208304539323, + "samples_ms": [ + 40.06324987858534, + 40.88900005444884, + 41.79920791648328, + 41.8063341639936, + 42.46208304539323, + 40.835542138665915 + ] + }, + "reduction_pct": -16.58527999244386, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 128, + 256, + 512 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.62572959344834, + "min_ms": 34.24241696484387, + "max_ms": 36.06008389033377, + "samples_ms": [ + 34.24241696484387, + 35.36587511189282, + 34.86437490209937, + 36.06008389033377, + 35.88558407500386, + 35.954375052824616 + ] + }, + "candidate": { + "median_ms": 41.14629200194031, + "min_ms": 38.749750005081296, + "max_ms": 42.71774995140731, + "samples_ms": [ + 38.749750005081296, + 40.57412501424551, + 41.63570795208216, + 40.889292024075985, + 41.403291979804635, + 42.71774995140731 + ] + }, + "reduction_pct": -15.495998177416181, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.40391703043133, + "min_ms": 33.469249960035086, + "max_ms": 35.05558311007917, + "samples_ms": [ + 33.469249960035086, + 34.44033395498991, + 35.05558311007917, + 34.5252079423517, + 34.36750010587275, + 34.30908406153321 + ] + }, + "candidate": { + "median_ms": 46.19431297760457, + "min_ms": 43.69416693225503, + "max_ms": 47.964375000447035, + "samples_ms": [ + 43.69416693225503, + 47.964375000447035, + 46.300583984702826, + 46.07574990950525, + 46.08804197050631, + 46.9970831181854 + ] + }, + "reduction_pct": -34.270504538027645, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.80716701596975, + "min_ms": 33.99754106067121, + "max_ms": 35.62520816922188, + "samples_ms": [ + 33.99754106067121, + 34.39158294349909, + 34.533374942839146, + 35.456582903862, + 35.08095908910036, + 35.62520816922188 + ] + }, + "candidate": { + "median_ms": 32.93895802926272, + "min_ms": 31.162999803200364, + "max_ms": 34.333915915340185, + "samples_ms": [ + 32.54345804452896, + 31.162999803200364, + 33.01837504841387, + 32.85954101011157, + 33.51020789705217, + 34.333915915340185 + ] + }, + "reduction_pct": 5.367311237510042, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.14493741001934, + "min_ms": 33.469666028395295, + "max_ms": 34.90562504157424, + "samples_ms": [ + 33.469666028395295, + 33.501625061035156, + 34.46529200300574, + 34.13399984128773, + 34.155874978750944, + 34.90562504157424 + ] + }, + "candidate": { + "median_ms": 46.14712449256331, + "min_ms": 44.28262519650161, + "max_ms": 48.80308313295245, + "samples_ms": [ + 44.28262519650161, + 45.455832965672016, + 48.80308313295245, + 46.8384160194546, + 47.00362519361079, + 44.46966596879065 + ] + }, + "reduction_pct": -35.1507075219359, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 35.21287499461323, + "min_ms": 34.00954091921449, + "max_ms": 36.09429206699133, + "samples_ms": [ + 34.00954091921449, + 34.875291865319014, + 34.96979200281203, + 35.45595798641443, + 35.598000045865774, + 36.09429206699133 + ] + }, + "candidate": { + "median_ms": 32.78872894588858, + "min_ms": 30.727375065907836, + "max_ms": 34.760459093376994, + "samples_ms": [ + 30.727375065907836, + 31.798291951417923, + 33.35325000807643, + 32.22420788370073, + 33.35470799356699, + 34.760459093376994 + ] + }, + "reduction_pct": 6.884260512938778, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 512 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.38879153691232, + "min_ms": 33.1217919010669, + "max_ms": 35.00820882618427, + "samples_ms": [ + 33.1217919010669, + 34.01741595007479, + 34.29966699331999, + 34.477916080504656, + 34.516500076279044, + 35.00820882618427 + ] + }, + "candidate": { + "median_ms": 45.057187555357814, + "min_ms": 43.962083058431745, + "max_ms": 45.707833021879196, + "samples_ms": [ + 43.962083058431745, + 45.59512506239116, + 45.06691708229482, + 45.707833021879196, + 45.047458028420806, + 44.293375220149755 + ] + }, + "reduction_pct": -31.022887230550754, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc2", + "tile": [ + 64, + 256, + 512 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 34.84214539639652, + "min_ms": 33.75404211692512, + "max_ms": 35.77066585421562, + "samples_ms": [ + 33.75404211692512, + 34.571625059470534, + 34.90949980914593, + 35.77066585421562, + 34.77479098364711, + 35.375708946958184 + ] + }, + "candidate": { + "median_ms": 31.807999941520393, + "min_ms": 29.7283751424402, + "max_ms": 33.02587498910725, + "samples_ms": [ + 29.7283751424402, + 30.72129189968109, + 32.953582936897874, + 31.430125003680587, + 33.02587498910725, + 32.1858748793602 + ] + }, + "reduction_pct": 8.708262422869995, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 59.79906243737787, + "min_ms": 58.727791998535395, + "max_ms": 61.80366687476635, + "samples_ms": [ + 59.981249971315265, + 58.727791998535395, + 61.2513751257211, + 59.616874903440475, + 61.80366687476635, + 59.577709063887596 + ] + }, + "candidate": { + "median_ms": 98.25556189753115, + "min_ms": 97.74987515993416, + "max_ms": 98.62716705538332, + "samples_ms": [ + 97.74987515993416, + 97.89075003936887, + 98.30145793966949, + 98.62716705538332, + 98.20966585539281, + 98.58637489378452 + ] + }, + "reduction_pct": -64.3095357898383, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 64.00683359242976, + "min_ms": 62.827124958857894, + "max_ms": 64.38720808364451, + "samples_ms": [ + 62.827124958857894, + 63.56199993751943, + 64.38720808364451, + 64.08250005915761, + 64.16583294048905, + 63.931167125701904 + ] + }, + "candidate": { + "median_ms": 66.18287554010749, + "min_ms": 65.16166683286428, + "max_ms": 66.43333402462304, + "samples_ms": [ + 66.12395914271474, + 65.16166683286428, + 66.24179193750024, + 66.38383283279836, + 66.43333402462304, + 66.04829197749496 + ] + }, + "reduction_pct": -3.3997025404098435, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 60.38008292671293, + "min_ms": 59.03858388774097, + "max_ms": 62.838332960382104, + "samples_ms": [ + 60.70383288897574, + 59.15812496095896, + 62.128250021487474, + 59.03858388774097, + 62.838332960382104, + 60.05633296445012 + ] + }, + "candidate": { + "median_ms": 97.94074995443225, + "min_ms": 97.43583318777382, + "max_ms": 98.3311659656465, + "samples_ms": [ + 98.17529213614762, + 97.43583318777382, + 97.72966708987951, + 98.05012494325638, + 98.3311659656465, + 97.83137496560812 + ] + }, + "reduction_pct": -62.207047766577325, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.786458456888795, + "min_ms": 63.55137494392693, + "max_ms": 64.93179081007838, + "samples_ms": [ + 63.69879189878702, + 63.55137494392693, + 64.93179081007838, + 63.87412501499057, + 64.10745903849602, + 63.5924160014838 + ] + }, + "candidate": { + "median_ms": 64.37989533878863, + "min_ms": 63.57079092413187, + "max_ms": 65.03366702236235, + "samples_ms": [ + 65.03366702236235, + 63.57079092413187, + 64.5558328833431, + 64.20395779423416, + 64.81754197739065, + 63.78645799122751 + ] + }, + "reduction_pct": -0.9303493190500944, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.008271041326225, + "min_ms": 60.26012497022748, + "max_ms": 64.03883313760161, + "samples_ms": [ + 60.63812505453825, + 60.26012497022748, + 62.77483399026096, + 63.25179198756814, + 64.03883313760161, + 63.24170809239149 + ] + }, + "candidate": { + "median_ms": 103.73756301123649, + "min_ms": 102.31587500311434, + "max_ms": 104.81399996206164, + "samples_ms": [ + 102.35991701483727, + 102.31587500311434, + 103.75658399425447, + 103.71854202821851, + 104.47499994188547, + 104.81399996206164 + ] + }, + "reduction_pct": -64.64118328718543, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 66.17508351337165, + "min_ms": 63.94620821811259, + "max_ms": 66.85608392581344, + "samples_ms": [ + 63.94620821811259, + 66.34554197080433, + 66.85608392581344, + 66.3592079654336, + 66.00462505593896, + 65.00495807267725 + ] + }, + "candidate": { + "median_ms": 69.76683298125863, + "min_ms": 68.16041609272361, + "max_ms": 71.64516602642834, + "samples_ms": [ + 68.16041609272361, + 69.85083315521479, + 71.11266697756946, + 71.64516602642834, + 69.31612500920892, + 69.68283280730247 + ] + }, + "reduction_pct": -5.427646294033339, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 58.05997899733484, + "min_ms": 56.33254093118012, + "max_ms": 59.44283283315599, + "samples_ms": [ + 59.17141702957451, + 56.6554160322994, + 58.45966702327132, + 56.33254093118012, + 59.44283283315599, + 57.660290971398354 + ] + }, + "candidate": { + "median_ms": 101.99858341366053, + "min_ms": 101.42887500114739, + "max_ms": 102.98116598278284, + "samples_ms": [ + 101.42887500114739, + 102.98116598278284, + 102.88925003260374, + 101.66925005614758, + 101.92508297041059, + 102.07208385691047 + ] + }, + "reduction_pct": -75.67795437601283, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.49252094514668, + "min_ms": 62.75216583162546, + "max_ms": 63.604332972317934, + "samples_ms": [ + 62.75216583162546, + 63.483166974037886, + 63.529792008921504, + 63.501874916255474, + 63.604332972317934, + 63.405083026736975 + ] + }, + "candidate": { + "median_ms": 64.78197895921767, + "min_ms": 64.29212517105043, + "max_ms": 65.36220805719495, + "samples_ms": [ + 64.29212517105043, + 64.32679202407598, + 65.36220805719495, + 64.67574997805059, + 65.16262516379356, + 64.88820794038475 + ] + }, + "reduction_pct": -2.030881739890278, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.39512497652322, + "min_ms": 62.838624930009246, + "max_ms": 63.97233298048377, + "samples_ms": [ + 63.315457897260785, + 63.42300004325807, + 63.51620890200138, + 62.838624930009246, + 63.97233298048377, + 63.36724990978837 + ] + }, + "candidate": { + "median_ms": 84.42670793738216, + "min_ms": 83.68350006639957, + "max_ms": 84.95029201731086, + "samples_ms": [ + 84.58908298052847, + 84.26433289423585, + 84.95029201731086, + 83.68350006639957, + 84.84283415600657, + 83.99487496353686 + ] + }, + "reduction_pct": -33.17539474627971, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.20883345324546, + "min_ms": 62.85237497650087, + "max_ms": 64.06000000424683, + "samples_ms": [ + 62.92629218660295, + 63.38979094289243, + 64.06000000424683, + 63.17124981433153, + 63.24641709215939, + 62.85237497650087 + ] + }, + "candidate": { + "median_ms": 84.45014606695622, + "min_ms": 84.08629195764661, + "max_ms": 85.61154105700552, + "samples_ms": [ + 84.45587498135865, + 84.08629195764661, + 84.73183307796717, + 84.4444171525538, + 84.31354188360274, + 85.61154105700552 + ] + }, + "reduction_pct": -33.604974895514594, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.586417003534734, + "min_ms": 63.08216694742441, + "max_ms": 63.97229200229049, + "samples_ms": [ + 63.40629211626947, + 63.08216694742441, + 63.97229200229049, + 63.7665418908, + 63.80291702225804, + 63.30899987369776 + ] + }, + "candidate": { + "median_ms": 78.20197858382016, + "min_ms": 77.38799997605383, + "max_ms": 78.6936660297215, + "samples_ms": [ + 78.35479103960097, + 78.39841698296368, + 78.6936660297215, + 77.94012501835823, + 78.04916612803936, + 77.38799997605383 + ] + }, + "reduction_pct": -22.98535169778941, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.69983300101012, + "min_ms": 63.102665822952986, + "max_ms": 64.23237500712276, + "samples_ms": [ + 63.532917061820626, + 63.84362489916384, + 64.23237500712276, + 63.72249987907708, + 63.67716612294316, + 63.102665822952986 + ] + }, + "candidate": { + "median_ms": 77.84372905734926, + "min_ms": 76.57879102043808, + "max_ms": 78.39733292348683, + "samples_ms": [ + 78.39733292348683, + 76.57879102043808, + 78.0142080038786, + 77.67325011081994, + 78.15749989822507, + 77.33812485821545 + ] + }, + "reduction_pct": -22.203976666806735, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 61.911812983453274, + "min_ms": 61.290707904845476, + "max_ms": 63.329082913696766, + "samples_ms": [ + 61.81354192085564, + 62.010084046050906, + 63.329082913696766, + 61.48108304478228, + 62.85750004462898, + 61.290707904845476 + ] + }, + "candidate": { + "median_ms": 71.19552057702094, + "min_ms": 70.41745795868337, + "max_ms": 71.96087506599724, + "samples_ms": [ + 71.56070787459612, + 70.41745795868337, + 71.10524992458522, + 71.28579122945666, + 71.96087506599724, + 70.92629186809063 + ] + }, + "reduction_pct": -14.995050453535995, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 61.41318753361702, + "min_ms": 60.9392081387341, + "max_ms": 62.59725010022521, + "samples_ms": [ + 61.35716591961682, + 61.39575014822185, + 62.59725010022521, + 61.43062491901219, + 61.99399987235665, + 60.9392081387341 + ] + }, + "candidate": { + "median_ms": 66.05352088809013, + "min_ms": 65.7157909590751, + "max_ms": 67.56674987263978, + "samples_ms": [ + 66.79275003261864, + 65.96341682597995, + 67.56674987263978, + 65.7157909590751, + 65.87954191491008, + 66.14362495020032 + ] + }, + "reduction_pct": -7.555923313592938, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 61.43754185177386, + "min_ms": 60.57624984532595, + "max_ms": 61.83066591620445, + "samples_ms": [ + 60.57624984532595, + 61.51666701771319, + 61.465916922315955, + 61.40916678123176, + 61.83066591620445, + 61.09408289194107 + ] + }, + "candidate": { + "median_ms": 68.41056258417666, + "min_ms": 67.89737497456372, + "max_ms": 68.78887512721121, + "samples_ms": [ + 67.97975022345781, + 67.89737497456372, + 68.78887512721121, + 68.7539589125663, + 68.60275007784367, + 68.21837509050965 + ] + }, + "reduction_pct": -11.349771690452926, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 61.12581246998161, + "min_ms": 60.77320780605078, + "max_ms": 62.19662516377866, + "samples_ms": [ + 60.97987503744662, + 61.35254097171128, + 62.19662516377866, + 61.095708049833775, + 61.15591689012945, + 60.77320780605078 + ] + }, + "candidate": { + "median_ms": 63.03077097982168, + "min_ms": 62.66850000247359, + "max_ms": 64.16391697712243, + "samples_ms": [ + 64.16391697712243, + 62.66850000247359, + 63.280042028054595, + 62.78149993158877, + 63.48766596056521, + 62.6695838291198 + ] + }, + "reduction_pct": -3.1164551158736398, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 60.211145551875234, + "min_ms": 59.43237501196563, + "max_ms": 61.478584073483944, + "samples_ms": [ + 60.14295807108283, + 59.43237501196563, + 59.89066604524851, + 60.27933303266764, + 60.47937506809831, + 61.478584073483944 + ] + }, + "candidate": { + "median_ms": 89.8966669337824, + "min_ms": 87.6690000295639, + "max_ms": 90.39637516252697, + "samples_ms": [ + 89.41675000824034, + 87.6690000295639, + 89.42070882767439, + 90.39220795966685, + 90.37262503989041, + 90.39637516252697 + ] + }, + "reduction_pct": -49.302369370022106, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 59.9094380158931, + "min_ms": 59.31204091757536, + "max_ms": 61.26745790243149, + "samples_ms": [ + 59.31204091757536, + 59.49704209342599, + 60.211583971977234, + 60.44662487693131, + 61.26745790243149, + 59.60729205980897 + ] + }, + "candidate": { + "median_ms": 89.09420855343342, + "min_ms": 88.59087503515184, + "max_ms": 90.01100016757846, + "samples_ms": [ + 88.59087503515184, + 88.79987499676645, + 89.5525838714093, + 89.09108396619558, + 90.01100016757846, + 89.09733314067125 + ] + }, + "reduction_pct": -48.714812730838865, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 61.477103969082236, + "min_ms": 60.560583136975765, + "max_ms": 61.69387511909008, + "samples_ms": [ + 60.560583136975765, + 61.50449998676777, + 61.63812498562038, + 61.449707951396704, + 61.69387511909008, + 60.781167121604085 + ] + }, + "candidate": { + "median_ms": 79.18108406011015, + "min_ms": 78.36299994960427, + "max_ms": 79.72500007599592, + "samples_ms": [ + 79.4039589818567, + 78.9582091383636, + 79.65074991807342, + 78.36299994960427, + 79.72500007599592, + 78.7826671730727 + ] + }, + "reduction_pct": -28.797680677885396, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 128, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 60.90152100659907, + "min_ms": 59.61754103191197, + "max_ms": 61.46008404903114, + "samples_ms": [ + 60.843209037557244, + 59.61754103191197, + 60.77250000089407, + 60.95983297564089, + 61.46008404903114, + 61.00125005468726 + ] + }, + "candidate": { + "median_ms": 79.39420791808516, + "min_ms": 77.88962498307228, + "max_ms": 80.29516600072384, + "samples_ms": [ + 77.92449998669326, + 77.88962498307228, + 79.05454095453024, + 79.73387488164008, + 80.29516600072384, + 80.0469999667257 + ] + }, + "reduction_pct": -30.364901575253423, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 57.857624953612685, + "min_ms": 55.96287501975894, + "max_ms": 60.450416058301926, + "samples_ms": [ + 57.10191698744893, + 59.08837518654764, + 60.450416058301926, + 56.51841592043638, + 58.61333291977644, + 55.96287501975894 + ] + }, + "candidate": { + "median_ms": 100.25337513070554, + "min_ms": 99.88987492397428, + "max_ms": 100.98091699182987, + "samples_ms": [ + 100.03845812752843, + 100.3146250732243, + 99.88987492397428, + 100.97149992361665, + 100.19212518818676, + 100.98091699182987 + ] + }, + "reduction_pct": -73.27599466981857, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 128 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 61.68931245338172, + "min_ms": 60.960167087614536, + "max_ms": 65.81370788626373, + "samples_ms": [ + 61.02383299730718, + 61.06674997135997, + 60.960167087614536, + 62.311874935403466, + 63.711458118632436, + 65.81370788626373 + ] + }, + "candidate": { + "median_ms": 66.21014606207609, + "min_ms": 65.9826670307666, + "max_ms": 71.96287508122623, + "samples_ms": [ + 66.2466671783477, + 65.9826670307666, + 66.04887498542666, + 66.17362494580448, + 70.00458403490484, + 71.96287508122623 + ] + }, + "reduction_pct": -7.328390330352197, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 59.39589545596391, + "min_ms": 58.55387495830655, + "max_ms": 60.08745916187763, + "samples_ms": [ + 60.047625098377466, + 59.607790783047676, + 60.08745916187763, + 58.55387495830655, + 59.18400012888014, + 59.135750168934464 + ] + }, + "candidate": { + "median_ms": 99.15185393765569, + "min_ms": 98.92800007946789, + "max_ms": 99.65758305042982, + "samples_ms": [ + 99.01033388450742, + 98.92800007946789, + 99.1397078614682, + 99.56570877693594, + 99.16400001384318, + 99.65758305042982 + ] + }, + "reduction_pct": -66.93384816660746, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "mpp", + "operator": "fc1", + "tile": [ + 64, + 256, + 256 + ], + "simdgroups": 8, + "walk": 8, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 64.98860463034362, + "min_ms": 60.69420883432031, + "max_ms": 65.99575001746416, + "samples_ms": [ + 60.69420883432031, + 63.48704104311764, + 64.50816709548235, + 65.77125005424023, + 65.99575001746416, + 65.46904216520488 + ] + }, + "candidate": { + "median_ms": 68.07666691020131, + "min_ms": 65.6382089946419, + "max_ms": 68.59708297997713, + "samples_ms": [ + 65.6382089946419, + 66.77141692489386, + 68.59708297997713, + 68.15712503157556, + 68.14566696994007, + 68.00766685046256 + ] + }, + "reduction_pct": -4.751698082183253, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "group": "unpack", + "operator": "qkv", + "lanes": 2, + "threads": 128, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 3.012958448380232, + "min_ms": 2.721833996474743, + "max_ms": 3.4094578586518764, + "samples_ms": [ + 2.7550829108804464, + 3.2708339858800173, + 3.4094578586518764, + 2.721833996474743, + 3.295874921604991, + 2.7246668469160795 + ] + }, + "candidate": { + "median_ms": 2.8923124773427844, + "min_ms": 2.3615839891135693, + "max_ms": 3.126000054180622, + "samples_ms": [ + 3.126000054180622, + 2.879916923120618, + 2.3615839891135693, + 2.362750004976988, + 2.919208025559783, + 2.904708031564951 + ] + }, + "reduction_pct": 4.004236138812556 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 49.968103994615376, + "min_ms": 46.252084197476506, + "max_ms": 52.3542920127511, + "samples_ms": [ + 46.252084197476506, + 47.39858419634402, + 49.9996249563992, + 51.00825009867549, + 52.3542920127511, + 49.93658303283155 + ] + }, + "candidate": { + "median_ms": 48.895916901528835, + "min_ms": 47.413749853149056, + "max_ms": 52.04641702584922, + "samples_ms": [ + 47.413749853149056, + 48.56554185971618, + 47.66920814290643, + 51.641334081068635, + 52.04641702584922, + 49.226291943341494 + ] + }, + "reduction_pct": 2.145742998777944 + } + }, + { + "group": "unpack", + "operator": "qkv", + "lanes": 2, + "threads": 256, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 2.797103952616453, + "min_ms": 2.7537078130990267, + "max_ms": 2.9348330572247505, + "samples_ms": [ + 2.778958063572645, + 2.8350839857012033, + 2.8144579846411943, + 2.779749920591712, + 2.9348330572247505, + 2.7537078130990267 + ] + }, + "candidate": { + "median_ms": 2.4032086366787553, + "min_ms": 2.3526670411229134, + "max_ms": 2.5988752022385597, + "samples_ms": [ + 2.42033414542675, + 2.5988752022385597, + 2.3698341101408005, + 2.3526670411229134, + 2.4251670110970736, + 2.3860831279307604 + ] + }, + "reduction_pct": 14.082255168573276 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 49.87804149277508, + "min_ms": 48.51629096083343, + "max_ms": 52.49258317053318, + "samples_ms": [ + 52.49258317053318, + 51.22725013643503, + 50.627707969397306, + 49.12837501615286, + 49.09895802848041, + 48.51629096083343 + ] + }, + "candidate": { + "median_ms": 49.28572895005345, + "min_ms": 47.99925000406802, + "max_ms": 51.74404103308916, + "samples_ms": [ + 51.74404103308916, + 51.171874860301614, + 49.18862506747246, + 49.38283283263445, + 47.99925000406802, + 48.066750168800354 + ] + }, + "reduction_pct": 1.1875216528047239 + } + }, + { + "group": "unpack", + "operator": "qkv", + "lanes": 4, + "threads": 128, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 3.3383540576323867, + "min_ms": 2.943041967228055, + "max_ms": 3.570500062778592, + "samples_ms": [ + 3.4179158974438906, + 2.943041967228055, + 3.0063330195844173, + 3.3247501123696566, + 3.351958002895117, + 3.570500062778592 + ] + }, + "candidate": { + "median_ms": 2.668646047823131, + "min_ms": 2.437292132526636, + "max_ms": 3.00904200412333, + "samples_ms": [ + 3.00904200412333, + 2.879292005673051, + 2.437292132526636, + 2.949667163193226, + 2.4580000899732113, + 2.452624961733818 + ] + }, + "reduction_pct": 20.061024033029707 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 48.19112503901124, + "min_ms": 46.45187500864267, + "max_ms": 49.081167206168175, + "samples_ms": [ + 46.45187500864267, + 48.059541964903474, + 47.92812489904463, + 48.322708113119006, + 48.849083948880434, + 49.081167206168175 + ] + }, + "candidate": { + "median_ms": 47.92097909376025, + "min_ms": 46.94141703657806, + "max_ms": 48.69379196316004, + "samples_ms": [ + 46.94141703657806, + 47.722374787554145, + 47.966625075787306, + 47.8753331117332, + 48.69379196316004, + 48.30574989318848 + ] + }, + "reduction_pct": 0.5605719829788192 + } + }, + { + "group": "unpack", + "operator": "qkv", + "lanes": 4, + "threads": 256, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 2.8086245292797685, + "min_ms": 2.747541991993785, + "max_ms": 2.934583928436041, + "samples_ms": [ + 2.934583928436041, + 2.7692499570548534, + 2.8094579465687275, + 2.8877498116344213, + 2.747541991993785, + 2.8077911119908094 + ] + }, + "candidate": { + "median_ms": 2.3740000324323773, + "min_ms": 2.3532919585704803, + "max_ms": 2.4597500450909138, + "samples_ms": [ + 2.4221669882535934, + 2.3592079523950815, + 2.388792112469673, + 2.4597500450909138, + 2.35754088498652, + 2.3532919585704803 + ] + }, + "reduction_pct": 15.474638646656135 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 48.76722896005958, + "min_ms": 48.59474999830127, + "max_ms": 49.04170800000429, + "samples_ms": [ + 48.59474999830127, + 48.837542068213224, + 48.6438749358058, + 48.71054203249514, + 49.04170800000429, + 48.823915887624025 + ] + }, + "candidate": { + "median_ms": 48.40804194100201, + "min_ms": 48.10195881873369, + "max_ms": 48.87629207223654, + "samples_ms": [ + 48.302749870345, + 48.513334011659026, + 48.8370000384748, + 48.87629207223654, + 48.10195881873369, + 48.17000008188188 + ] + }, + "reduction_pct": 0.7365335835500253 + } + }, + { + "group": "unpack", + "operator": "qkv", + "lanes": 8, + "threads": 128, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 2.8508331160992384, + "min_ms": 2.696041017770767, + "max_ms": 3.293875139206648, + "samples_ms": [ + 3.293875139206648, + 2.806000178679824, + 2.696041017770767, + 2.895666053518653, + 2.9558748938143253, + 2.7021251153200865 + ] + }, + "candidate": { + "median_ms": 2.573416568338871, + "min_ms": 2.3308340460062027, + "max_ms": 3.1028748489916325, + "samples_ms": [ + 2.5110410060733557, + 2.6357921306043863, + 2.8954169247299433, + 3.1028748489916325, + 2.376917051151395, + 2.3308340460062027 + ] + }, + "reduction_pct": 9.731069356313405 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 49.64439547620714, + "min_ms": 47.31045803055167, + "max_ms": 49.88791584037244, + "samples_ms": [ + 47.31045803055167, + 49.58124994300306, + 49.707541009411216, + 49.88791584037244, + 49.46058290079236, + 49.8622499871999 + ] + }, + "candidate": { + "median_ms": 49.150792066939175, + "min_ms": 48.532291082665324, + "max_ms": 49.52250001952052, + "samples_ms": [ + 48.77670807763934, + 48.532291082665324, + 49.33358309790492, + 49.21541712246835, + 49.52250001952052, + 49.08616701141 + ] + }, + "reduction_pct": 0.9942782151603158 + } + }, + { + "group": "unpack", + "operator": "qkv", + "lanes": 8, + "threads": 256, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 3.0089375795796514, + "min_ms": 2.972792135551572, + "max_ms": 3.110417164862156, + "samples_ms": [ + 2.995207905769348, + 3.082999959588051, + 3.110417164862156, + 2.972792135551572, + 3.0096250120550394, + 3.0082501471042633 + ] + }, + "candidate": { + "median_ms": 2.676436910405755, + "min_ms": 2.6604998856782913, + "max_ms": 2.7663339860737324, + "samples_ms": [ + 2.667415887117386, + 2.663416089490056, + 2.7663339860737324, + 2.6604998856782913, + 2.685457933694124, + 2.685458166524768 + ] + }, + "reduction_pct": 11.050434260598607 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 48.95018809475005, + "min_ms": 48.11400012113154, + "max_ms": 49.70504203811288, + "samples_ms": [ + 48.11400012113154, + 48.64716716110706, + 48.56958310119808, + 49.25320902839303, + 49.42716704681516, + 49.70504203811288 + ] + }, + "candidate": { + "median_ms": 48.75424993224442, + "min_ms": 47.985499957576394, + "max_ms": 49.37275010161102, + "samples_ms": [ + 48.16216602921486, + 47.985499957576394, + 48.71866689063609, + 48.789832973852754, + 49.003709107637405, + 49.37275010161102 + ] + }, + "reduction_pct": 0.4002807141953335 + } + }, + { + "group": "unpack", + "operator": "fc2", + "lanes": 2, + "threads": 128, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 2.1764999255537987, + "min_ms": 1.6474579460918903, + "max_ms": 2.326082903891802, + "samples_ms": [ + 2.221875125542283, + 1.714083133265376, + 1.6474579460918903, + 2.1587498486042023, + 2.194250002503395, + 2.326082903891802 + ] + }, + "candidate": { + "median_ms": 2.028645947575569, + "min_ms": 1.4096670784056187, + "max_ms": 2.136250026524067, + "samples_ms": [ + 2.0127499010413885, + 1.9904589280486107, + 1.4096670784056187, + 2.136250026524067, + 2.04454199410975, + 2.045540837571025 + ] + }, + "reduction_pct": 6.79319931245157 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 36.52379149571061, + "min_ms": 36.12149995751679, + "max_ms": 36.804832983762026, + "samples_ms": [ + 36.58037493005395, + 36.38229100033641, + 36.12149995751679, + 36.63479210808873, + 36.46720806136727, + 36.804832983762026 + ] + }, + "candidate": { + "median_ms": 36.16639552637935, + "min_ms": 35.967209143564105, + "max_ms": 36.6698750294745, + "samples_ms": [ + 36.2744580488652, + 35.967209143564105, + 36.0406250692904, + 36.058333003893495, + 36.6698750294745, + 36.32033383473754 + ] + }, + "reduction_pct": 0.9785292125907508 + } + }, + { + "group": "unpack", + "operator": "fc2", + "lanes": 2, + "threads": 256, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 1.591791631653905, + "min_ms": 1.5801249537616968, + "max_ms": 1.723709050565958, + "samples_ms": [ + 1.5801249537616968, + 1.6954168677330017, + 1.723709050565958, + 1.6006662044674158, + 1.582917058840394, + 1.5815829392522573 + ] + }, + "candidate": { + "median_ms": 1.359250396490097, + "min_ms": 1.3114579487591982, + "max_ms": 1.3992919120937586, + "samples_ms": [ + 1.3992919120937586, + 1.3679589610546827, + 1.3595419004559517, + 1.3589588925242424, + 1.335666049271822, + 1.3114579487591982 + ] + }, + "reduction_pct": 14.608773569326573 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 37.30770805850625, + "min_ms": 36.52079193852842, + "max_ms": 37.82283398322761, + "samples_ms": [ + 36.52079193852842, + 37.675000028684735, + 37.024415796622634, + 37.82283398322761, + 37.18841611407697, + 37.42700000293553 + ] + }, + "candidate": { + "median_ms": 37.264708429574966, + "min_ms": 36.200499860569835, + "max_ms": 37.65112510882318, + "samples_ms": [ + 36.29908314906061, + 36.200499860569835, + 37.45891689322889, + 37.65112510882318, + 37.1370839420706, + 37.39233291707933 + ] + }, + "reduction_pct": 0.11525668868174188 + } + }, + { + "group": "unpack", + "operator": "fc2", + "lanes": 4, + "threads": 128, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 1.6842915210872889, + "min_ms": 1.571665983647108, + "max_ms": 1.8738750368356705, + "samples_ms": [ + 1.6727910842746496, + 1.5757500659674406, + 1.571665983647108, + 1.695791957899928, + 1.8738750368356705, + 1.6997500788420439 + ] + }, + "candidate": { + "median_ms": 1.3427914818748832, + "min_ms": 1.2893339153379202, + "max_ms": 1.4460829552263021, + "samples_ms": [ + 1.3589579612016678, + 1.3011249247938395, + 1.2893339153379202, + 1.3266250025480986, + 1.4460829552263021, + 1.361542148515582 + ] + }, + "reduction_pct": 20.275589762035462 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 36.98645858094096, + "min_ms": 36.061666905879974, + "max_ms": 38.04287500679493, + "samples_ms": [ + 36.061666905879974, + 36.470916820690036, + 36.80479200556874, + 37.16812515631318, + 37.33900003135204, + 38.04287500679493 + ] + }, + "candidate": { + "median_ms": 37.370853940956295, + "min_ms": 36.50595899671316, + "max_ms": 38.162291049957275, + "samples_ms": [ + 36.50595899671316, + 37.39512502215803, + 37.01962507329881, + 37.34658285975456, + 38.162291049957275, + 38.043915992602706 + ] + }, + "reduction_pct": -1.0392867410490947 + } + }, + { + "group": "unpack", + "operator": "fc2", + "lanes": 4, + "threads": 256, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 1.765687484294176, + "min_ms": 1.7103329300880432, + "max_ms": 1.9108750857412815, + "samples_ms": [ + 1.9108750857412815, + 1.7783751245588064, + 1.7529998440295458, + 1.7103329300880432, + 1.7298748716711998, + 1.86187494546175 + ] + }, + "candidate": { + "median_ms": 1.4076875522732735, + "min_ms": 1.3741659931838512, + "max_ms": 1.480249920859933, + "samples_ms": [ + 1.4768331311643124, + 1.480249920859933, + 1.3874578289687634, + 1.3741659931838512, + 1.4230830129235983, + 1.3922920916229486 + ] + }, + "reduction_pct": 20.275384812166298 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 38.445541518740356, + "min_ms": 37.49095811508596, + "max_ms": 39.76120799779892, + "samples_ms": [ + 37.49095811508596, + 37.90116705931723, + 38.37700001895428, + 38.514083018526435, + 38.57575007714331, + 39.76120799779892 + ] + }, + "candidate": { + "median_ms": 38.93037501256913, + "min_ms": 37.44658292271197, + "max_ms": 39.427584037184715, + "samples_ms": [ + 37.44658292271197, + 37.45900001376867, + 38.869749987497926, + 39.31016707792878, + 38.99100003764033, + 39.427584037184715 + ] + }, + "reduction_pct": -1.2610915978187975 + } + }, + { + "group": "unpack", + "operator": "fc2", + "lanes": 8, + "threads": 128, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 1.7134579829871655, + "min_ms": 1.6902079805731773, + "max_ms": 1.8400829285383224, + "samples_ms": [ + 1.7334579024463892, + 1.8400829285383224, + 1.69179099611938, + 1.6934580635279417, + 1.6902079805731773, + 1.7727920785546303 + ] + }, + "candidate": { + "median_ms": 1.429312047548592, + "min_ms": 1.4042500406503677, + "max_ms": 1.5134159475564957, + "samples_ms": [ + 1.5043749008327723, + 1.5134159475564957, + 1.4151660725474358, + 1.412124838680029, + 1.4434580225497484, + 1.4042500406503677 + ] + }, + "reduction_pct": 16.583186647110317 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 39.86033354885876, + "min_ms": 39.17104098945856, + "max_ms": 40.33637512475252, + "samples_ms": [ + 39.51695910654962, + 40.33637512475252, + 40.28416587971151, + 39.17104098945856, + 39.618375012651086, + 40.10229208506644 + ] + }, + "candidate": { + "median_ms": 39.79412489570677, + "min_ms": 39.281709119677544, + "max_ms": 40.1190840639174, + "samples_ms": [ + 39.690874982625246, + 39.76074978709221, + 39.281709119677544, + 40.024416986852884, + 40.1190840639174, + 39.82750000432134 + ] + }, + "reduction_pct": 0.16610160341692382 + } + }, + { + "group": "unpack", + "operator": "fc2", + "lanes": 8, + "threads": 256, + "bit_equal": true, + "decode": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 1.8059374997392297, + "min_ms": 1.7295829020440578, + "max_ms": 1.976290950551629, + "samples_ms": [ + 1.976290950551629, + 1.744791865348816, + 1.80658302269876, + 1.8052919767796993, + 1.8619170878082514, + 1.7295829020440578 + ] + }, + "candidate": { + "median_ms": 1.5007710317149758, + "min_ms": 1.468417001888156, + "max_ms": 1.6903330106288195, + "samples_ms": [ + 1.6035421285778284, + 1.485415967181325, + 1.4942919369786978, + 1.507250126451254, + 1.6903330106288195, + 1.468417001888156 + ] + }, + "reduction_pct": 16.89795289528673 + }, + "with_gemm": { + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 39.135062135756016, + "min_ms": 38.90095790848136, + "max_ms": 39.62595900520682, + "samples_ms": [ + 39.13941606879234, + 39.40516686998308, + 38.95041602663696, + 39.13070820271969, + 38.90095790848136, + 39.62595900520682 + ] + }, + "candidate": { + "median_ms": 39.152541547082365, + "min_ms": 38.64799998700619, + "max_ms": 39.39266689121723, + "samples_ms": [ + 38.955500116571784, + 38.64799998700619, + 39.15004199370742, + 39.23345799557865, + 39.39266689121723, + 39.15504110045731 + ] + }, + "reduction_pct": -0.044664324961884994 + } + } + ], + "activation_ranges": { + "qkv": { + "shape": [ + 4181, + 5376 + ], + "max_abs": 10.0625 + }, + "out": { + "shape": [ + 4181, + 7168 + ], + "max_abs": 38.75 + }, + "fc1": { + "shape": [ + 4181, + 5376 + ], + "max_abs": 3.21875 + }, + "fc2": { + "shape": [ + 4181, + 14336 + ], + "max_abs": 4640.0 + } + }, + "memory": { + "sampled_peak_physical_bytes": 4787685752, + "lifetime_peak_physical_bytes": 5052712832, + "sample_interval_s": 0.1, + "sample_count": 682, + "scope": "Parent process only; includes Metal; excludes compiler XPC services. Counters overlap; do not sum." + } +} diff --git a/reports/optimization-r3/screen.log b/reports/optimization-r3/screen.log new file mode 100644 index 0000000000000000000000000000000000000000..5630e26201600105c7df22b90ab4a8a736e11958 --- /dev/null +++ b/reports/optimization-r3/screen.log @@ -0,0 +1,78 @@ +{"group": "attention", "variant": "q", "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 25.229458115063608, "min_ms": 25.031917029991746, "max_ms": 25.60575003735721, "samples_ms": [25.268583092838526, 25.075667072087526, 25.19033313728869, 25.031917029991746, 25.60575003735721, 25.284667033702135]}, "candidate": {"median_ms": 25.469625601544976, "min_ms": 25.04358277656138, "max_ms": 27.149833040311933, "samples_ms": [25.305458111688495, 25.851749815046787, 25.04358277656138, 25.56595904752612, 25.37329215556383, 27.149833040311933]}, "reduction_pct": -0.9519327977083103, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "attention", "variant": "k", "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 25.859437533654273, "min_ms": 25.340416003018618, "max_ms": 26.08179091475904, "samples_ms": [25.340416003018618, 25.849125115200877, 25.9084589779377, 25.79154190607369, 25.869749952107668, 26.08179091475904]}, "candidate": {"median_ms": 26.141000096686184, "min_ms": 25.78525012359023, "max_ms": 26.738915825262666, "samples_ms": [25.89174988679588, 25.78525012359023, 26.06958313845098, 26.21241705492139, 26.308625005185604, 26.738915825262666]}, "reduction_pct": -1.0888193630100407, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "attention", "variant": "v", "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 26.5235414262861, "min_ms": 26.06820804066956, "max_ms": 26.9916660618037, "samples_ms": [26.572000002488494, 26.06820804066956, 26.71158406883478, 26.47508285008371, 26.14770899526775, 26.9916660618037]}, "candidate": {"median_ms": 26.45568735897541, "min_ms": 25.472500128671527, "max_ms": 26.980499969795346, "samples_ms": [25.472500128671527, 26.262166909873486, 26.980499969795346, 26.169166900217533, 26.649207808077335, 26.651000138372183]}, "reduction_pct": 0.25582581986371977, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "attention", "variant": "kv", "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 26.858228840865195, "min_ms": 26.246291119605303, "max_ms": 27.52129198051989, "samples_ms": [27.52129198051989, 26.246291119605303, 26.920874835923314, 26.890749810263515, 26.825707871466875, 26.35725005529821]}, "candidate": {"median_ms": 27.170770918019116, "min_ms": 26.904917089268565, "max_ms": 27.513458160683513, "samples_ms": [27.103166794404387, 27.238375041633844, 27.05774991773069, 26.904917089268565, 27.513458160683513, 27.28683315217495]}, "reduction_pct": -1.163673446248925, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "attention", "variant": "qk", "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 27.14068756904453, "min_ms": 26.804166147485375, "max_ms": 27.53179194405675, "samples_ms": [27.08041714504361, 27.53179194405675, 27.262166142463684, 26.89216611906886, 27.20095799304545, 26.804166147485375]}, "candidate": {"median_ms": 27.800749870948493, "min_ms": 27.702665887773037, "max_ms": 28.138082940131426, "samples_ms": [27.702665887773037, 27.784874895587564, 27.734083821997046, 27.816624846309423, 28.138082940131426, 28.064000187441707]}, "reduction_pct": -2.4320028747422118, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "attention", "variant": "qkv", "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 27.442208491265774, "min_ms": 26.71104110777378, "max_ms": 27.863250114023685, "samples_ms": [27.492749970406294, 27.391667012125254, 27.72591612301767, 27.863250114023685, 27.305457973852754, 26.71104110777378]}, "candidate": {"median_ms": 28.753166552633047, "min_ms": 28.096041874960065, "max_ms": 29.45591602474451, "samples_ms": [28.803500114008784, 28.70283299125731, 28.096041874960065, 28.122124960646033, 29.45591602474451, 28.994416119530797]}, "reduction_pct": -4.7771594687232355, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 128], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 32.69812499638647, "min_ms": 32.49645885080099, "max_ms": 33.13204203732312, "samples_ms": [32.848249888047576, 32.50425006262958, 32.49645885080099, 32.93229197151959, 33.13204203732312, 32.54800010472536]}, "candidate": {"median_ms": 46.483063022606075, "min_ms": 44.436374912038445, "max_ms": 46.96791688911617, "samples_ms": [46.82158399373293, 44.436374912038445, 46.14454205147922, 45.50975002348423, 46.96791688911617, 46.862542163580656]}, "reduction_pct": -42.15819111261887, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 128], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.702207962051034, "min_ms": 33.23649987578392, "max_ms": 34.3878751154989, "samples_ms": [33.23649987578392, 33.68545789271593, 33.96387514658272, 34.3878751154989, 33.64429180510342, 33.71895803138614]}, "candidate": {"median_ms": 30.430083512328565, "min_ms": 29.547041980549693, "max_ms": 32.16029214672744, "samples_ms": [29.918708838522434, 30.43100005015731, 32.16029214672744, 29.547041980549693, 30.42916697449982, 30.4317909758538]}, "reduction_pct": 9.708931988690207, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 256], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.28241698909551, "min_ms": 33.0401249229908, "max_ms": 33.49166689440608, "samples_ms": [33.4627500269562, 33.33674999885261, 33.49166689440608, 33.14974997192621, 33.22808397933841, 33.0401249229908]}, "candidate": {"median_ms": 45.94068753067404, "min_ms": 44.2713750526309, "max_ms": 46.81620793417096, "samples_ms": [45.48799991607666, 46.39337514527142, 46.77283298224211, 46.81620793417096, 45.39870913140476, 44.2713750526309]}, "reduction_pct": -38.03290652156011, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 256], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.980124979279935, "min_ms": 33.76808296889067, "max_ms": 34.726041834801435, "samples_ms": [33.94587500952184, 33.76808296889067, 34.01437494903803, 33.8490828871727, 34.5814588945359, 34.726041834801435]}, "candidate": {"median_ms": 30.394604080356658, "min_ms": 29.724291991442442, "max_ms": 31.81616705842316, "samples_ms": [30.098708113655448, 29.724291991442442, 31.81616705842316, 31.27020807005465, 30.690500047057867, 29.959790874272585]}, "reduction_pct": 10.551817867384605, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 512], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 32.97620837111026, "min_ms": 32.364374957978725, "max_ms": 33.496208023279905, "samples_ms": [32.364374957978725, 33.023957861587405, 32.54604106768966, 32.928458880633116, 33.078499836847186, 33.496208023279905]}, "candidate": {"median_ms": 44.57024997100234, "min_ms": 43.49741595797241, "max_ms": 45.911625027656555, "samples_ms": [44.575999956578016, 45.71600002236664, 44.51462486758828, 44.564499985426664, 45.911625027656555, 43.49741595797241]}, "reduction_pct": -35.158807432965425, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 512], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.583750016987324, "min_ms": 32.85624994896352, "max_ms": 34.44895800203085, "samples_ms": [32.85624994896352, 33.038708148524165, 33.43666600994766, 34.1495000757277, 34.44895800203085, 33.73083402402699]}, "candidate": {"median_ms": 29.923375113867223, "min_ms": 28.22491596452892, "max_ms": 30.517749954015017, "samples_ms": [30.457957880571485, 28.22491596452892, 28.807041933760047, 29.71458318643272, 30.132167041301727, 30.517749954015017]}, "reduction_pct": 10.89924413226221, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.13168743625283, "min_ms": 32.98945794813335, "max_ms": 33.945250092074275, "samples_ms": [33.16450002603233, 33.098874846473336, 33.945250092074275, 32.98945794813335, 33.26154197566211, 33.072917023673654]}, "candidate": {"median_ms": 53.310583578422666, "min_ms": 53.09424991719425, "max_ms": 53.87866706587374, "samples_ms": [53.130083018913865, 53.09424991719425, 53.173334104940295, 53.684249985963106, 53.447833051905036, 53.87866706587374]}, "reduction_pct": -60.90512649256132, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.71137548331171, "min_ms": 34.47116701863706, "max_ms": 35.334791988134384, "samples_ms": [34.511875128373504, 34.80858402326703, 34.614166943356395, 35.0277500692755, 35.334791988134384, 34.47116701863706]}, "candidate": {"median_ms": 33.90649997163564, "min_ms": 32.41004212759435, "max_ms": 35.40570801123977, "samples_ms": [32.41004212759435, 33.353874925523996, 34.77708389982581, 33.19504205137491, 35.40570801123977, 34.45912501774728]}, "reduction_pct": 2.3187658237946662, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.76337548252195, "min_ms": 33.24000001884997, "max_ms": 34.47937499731779, "samples_ms": [33.30691694281995, 33.24000001884997, 33.71295891702175, 33.81379204802215, 34.47937499731779, 33.92070787958801]}, "candidate": {"median_ms": 53.14691655803472, "min_ms": 52.84675001166761, "max_ms": 53.39562497101724, "samples_ms": [53.18125011399388, 53.11258300207555, 53.39562497101724, 53.26724983751774, 52.84675001166761, 53.013459080830216]}, "reduction_pct": -57.40996212166911, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.07014596834779, "min_ms": 34.801292000338435, "max_ms": 35.45666695572436, "samples_ms": [34.801292000338435, 34.80708389542997, 34.918874967843294, 35.22141696885228, 35.45666695572436, 35.4250418022275]}, "candidate": {"median_ms": 33.909062505699694, "min_ms": 33.21541682817042, "max_ms": 35.0338751450181, "samples_ms": [33.57775020413101, 33.88270805589855, 33.93541695550084, 33.21541682817042, 35.0338751450181, 34.80620798654854]}, "reduction_pct": 3.310746022260691, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 512], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.45052036456764, "min_ms": 33.10804208740592, "max_ms": 34.30433291941881, "samples_ms": [33.10804208740592, 33.283333061262965, 33.33395789377391, 33.56708283536136, 34.30433291941881, 33.7523331400007]}, "candidate": {"median_ms": 53.67537494748831, "min_ms": 53.04420809261501, "max_ms": 53.82925015874207, "samples_ms": [53.38458297774196, 53.04420809261501, 53.75545797869563, 53.82925015874207, 53.595291916280985, 53.80429094657302]}, "reduction_pct": -60.462002870196855, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 128, 512], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.256957937031984, "min_ms": 33.05050008930266, "max_ms": 34.71174999140203, "samples_ms": [33.05050008930266, 34.18091591447592, 34.33299995958805, 34.11058313213289, 34.71174999140203, 34.46020791307092]}, "candidate": {"median_ms": 35.579250077717006, "min_ms": 30.861708102747798, "max_ms": 37.281750002875924, "samples_ms": [30.861708102747798, 36.76758403889835, 33.990791998803616, 34.494500141590834, 37.281750002875924, 36.66400001384318]}, "reduction_pct": -3.859922831196916, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 128], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.25187540799379, "min_ms": 35.1625420153141, "max_ms": 35.65299999900162, "samples_ms": [35.25291685946286, 35.63412488438189, 35.20904202014208, 35.65299999900162, 35.1625420153141, 35.25083395652473]}, "candidate": {"median_ms": 41.61843750625849, "min_ms": 40.902707958593965, "max_ms": 42.40504209883511, "samples_ms": [40.902707958593965, 41.42266698181629, 41.77608294412494, 41.49625007994473, 41.740624932572246, 42.40504209883511]}, "reduction_pct": -18.06020821468408, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 128], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.97972891293466, "min_ms": 35.42249999009073, "max_ms": 36.18470882065594, "samples_ms": [35.42249999009073, 35.77129193581641, 36.18470882065594, 35.905207972973585, 36.17508406750858, 36.05424985289574]}, "candidate": {"median_ms": 41.706104413606226, "min_ms": 41.30979208275676, "max_ms": 42.23008407279849, "samples_ms": [41.54358385130763, 41.39179200865328, 41.30979208275676, 41.86862497590482, 42.23008407279849, 42.11949999444187]}, "reduction_pct": -15.915560438291521, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 256], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.98637506365776, "min_ms": 35.6951670255512, "max_ms": 36.42770810984075, "samples_ms": [36.040708189830184, 35.6951670255512, 36.04087489657104, 36.42770810984075, 35.93204193748534, 35.81187501549721]}, "candidate": {"median_ms": 38.65062491968274, "min_ms": 38.38008316233754, "max_ms": 39.08629110082984, "samples_ms": [38.97504205815494, 39.08629110082984, 38.65654184482992, 38.402500096708536, 38.644707994535565, 38.38008316233754]}, "reduction_pct": -7.403496049024327, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 256], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 36.38777043670416, "min_ms": 35.99750017747283, "max_ms": 36.600833060219884, "samples_ms": [36.341457860544324, 36.253374768421054, 36.434083012863994, 35.99750017747283, 36.600833060219884, 36.55995801091194]}, "candidate": {"median_ms": 38.49864553194493, "min_ms": 38.053416879847646, "max_ms": 39.50450010597706, "samples_ms": [38.49220811389387, 38.053416879847646, 39.16970896534622, 38.505082949995995, 39.50450010597706, 38.24616689234972]}, "reduction_pct": -5.80105642612152, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 512], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.68329208064824, "min_ms": 34.19204195961356, "max_ms": 35.95762513577938, "samples_ms": [34.19204195961356, 35.526125226169825, 35.32066592015326, 35.90862499549985, 35.84045893512666, 35.95762513577938]}, "candidate": {"median_ms": 41.27647902350873, "min_ms": 39.94083311408758, "max_ms": 42.64591680839658, "samples_ms": [39.94083311408758, 40.246833115816116, 41.21075011789799, 41.34220792911947, 42.0346250757575, 42.64591680839658]}, "reduction_pct": -15.674526134582134, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 512], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.55281204171479, "min_ms": 33.824458019807935, "max_ms": 36.18891700170934, "samples_ms": [33.824458019807935, 34.69358291476965, 35.19083303399384, 35.914791049435735, 36.18891700170934, 36.066832952201366]}, "candidate": {"median_ms": 41.01883352268487, "min_ms": 39.21595914289355, "max_ms": 42.39054210484028, "samples_ms": [39.21595914289355, 40.27725011110306, 40.73312506079674, 41.77387501113117, 41.30454198457301, 42.39054210484028]}, "reduction_pct": -15.374371722148727, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.35712510347366, "min_ms": 35.100291948765516, "max_ms": 36.129374988377094, "samples_ms": [35.100291948765516, 35.18845792859793, 35.36375006660819, 36.129374988377094, 35.804207902401686, 35.350500140339136]}, "candidate": {"median_ms": 37.16656262986362, "min_ms": 36.86491586267948, "max_ms": 37.45754202827811, "samples_ms": [37.261624820530415, 37.09358419291675, 36.86491586267948, 37.13512513786554, 37.198000121861696, 37.45754202827811]}, "reduction_pct": -5.117603654410763, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.8905210159719, "min_ms": 35.524999955669045, "max_ms": 37.069333950057626, "samples_ms": [37.069333950057626, 35.88324994780123, 35.55295802652836, 35.897792084142566, 35.91241594403982, 35.524999955669045]}, "candidate": {"median_ms": 34.55870854668319, "min_ms": 34.21016689389944, "max_ms": 34.83779216185212, "samples_ms": [34.40679213963449, 34.21016689389944, 34.45874992758036, 34.65866716578603, 34.728209022432566, 34.83779216185212]}, "reduction_pct": 3.710763821723362, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.92833341099322, "min_ms": 35.62420909292996, "max_ms": 36.63462493568659, "samples_ms": [35.71220790036023, 35.62420909292996, 36.52383293956518, 36.14445892162621, 35.690875025466084, 36.63462493568659]}, "candidate": {"median_ms": 36.30470857024193, "min_ms": 36.04741697199643, "max_ms": 36.62204183638096, "samples_ms": [36.62204183638096, 36.06554097495973, 36.58712515607476, 36.35266702622175, 36.04741697199643, 36.256750114262104]}, "reduction_pct": -1.047571995459018, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 36.06770804617554, "min_ms": 35.60099983587861, "max_ms": 36.45800007507205, "samples_ms": [36.01370798423886, 35.94916709698737, 35.60099983587861, 36.45800007507205, 36.121708108112216, 36.437375005334616]}, "candidate": {"median_ms": 33.5881250211969, "min_ms": 32.341625075787306, "max_ms": 35.77370895072818, "samples_ms": [33.67020818404853, 33.50604185834527, 33.68429187685251, 35.77370895072818, 33.483332954347134, 32.341625075787306]}, "reduction_pct": 6.874800643845069, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 512], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.10264598298818, "min_ms": 33.59350003302097, "max_ms": 35.836707800626755, "samples_ms": [33.59350003302097, 34.17958412319422, 34.87966698594391, 35.80595809035003, 35.836707800626755, 35.325624980032444]}, "candidate": {"median_ms": 34.59241648670286, "min_ms": 34.03295809403062, "max_ms": 35.82058288156986, "samples_ms": [34.51408306136727, 34.03295809403062, 34.51770800165832, 34.6671249717474, 35.82058288156986, 35.38491600193083]}, "reduction_pct": 1.4535357150358141, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 128, 512], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.038665984757245, "min_ms": 34.09208310768008, "max_ms": 35.7118749525398, "samples_ms": [34.09208310768008, 34.88429100252688, 34.823874942958355, 35.7118749525398, 35.65883287228644, 35.19304096698761]}, "candidate": {"median_ms": 31.510208500549197, "min_ms": 30.011584050953388, "max_ms": 33.16824999637902, "samples_ms": [30.211166944354773, 30.011584050953388, 31.29887511022389, 31.721541890874505, 33.16824999637902, 32.41729107685387]}, "reduction_pct": 10.07018214033325, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 256, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.65337450709194, "min_ms": 33.48512505181134, "max_ms": 35.89512500911951, "samples_ms": [33.48512505181134, 35.57479102164507, 35.15933291055262, 35.799749894067645, 35.73195799253881, 35.89512500911951]}, "candidate": {"median_ms": 44.1848955815658, "min_ms": 42.33650001697242, "max_ms": 44.950291980057955, "samples_ms": [42.33650001697242, 43.28704113140702, 44.05637504532933, 44.31341611780226, 44.46279187686741, 44.950291980057955]}, "reduction_pct": -23.929070368295214, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 256, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.47704196535051, "min_ms": 33.64433301612735, "max_ms": 35.964249866083264, "samples_ms": [33.64433301612735, 34.54320807941258, 35.272917011752725, 35.964249866083264, 35.91850004158914, 35.68116691894829]}, "candidate": {"median_ms": 43.20979141630232, "min_ms": 41.743291076272726, "max_ms": 44.87358289770782, "samples_ms": [41.743291076272726, 43.125208001583815, 43.29437483102083, 42.989624897018075, 44.87358289770782, 44.278624933212996]}, "reduction_pct": -21.79648872221136, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 256, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.428583389148116, "min_ms": 33.60733320005238, "max_ms": 36.47991712205112, "samples_ms": [33.60733320005238, 34.95291620492935, 35.43745796196163, 35.419708816334605, 35.5549999512732, 36.47991712205112]}, "candidate": {"median_ms": 39.55368744209409, "min_ms": 38.16095786169171, "max_ms": 40.5611670576036, "samples_ms": [38.26766600832343, 38.16095786169171, 39.1714998986572, 40.25241709314287, 39.93587498553097, 40.5611670576036]}, "reduction_pct": -11.643434928333885, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 256, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.1655624108389, "min_ms": 33.86304201558232, "max_ms": 35.9415418934077, "samples_ms": [33.86304201558232, 34.836542094126344, 34.958167001605034, 35.37295782007277, 35.50325008109212, 35.9415418934077]}, "candidate": {"median_ms": 38.53777039330453, "min_ms": 37.19449997879565, "max_ms": 38.989333901554346, "samples_ms": [37.392625119537115, 37.19449997879565, 38.19366591051221, 38.989333901554346, 38.881874876096845, 38.95575017668307]}, "reduction_pct": -9.589518128753793, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 256, 512], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.462542087771, "min_ms": 34.29579199291766, "max_ms": 48.445792170241475, "samples_ms": [34.29579199291766, 35.15083296224475, 35.159084014594555, 36.64316702634096, 48.445792170241475, 35.76600016094744]}, "candidate": {"median_ms": 41.34410398546606, "min_ms": 40.06324987858534, "max_ms": 42.46208304539323, "samples_ms": [40.06324987858534, 40.88900005444884, 41.79920791648328, 41.8063341639936, 42.46208304539323, 40.835542138665915]}, "reduction_pct": -16.58527999244386, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [128, 256, 512], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.62572959344834, "min_ms": 34.24241696484387, "max_ms": 36.06008389033377, "samples_ms": [34.24241696484387, 35.36587511189282, 34.86437490209937, 36.06008389033377, 35.88558407500386, 35.954375052824616]}, "candidate": {"median_ms": 41.14629200194031, "min_ms": 38.749750005081296, "max_ms": 42.71774995140731, "samples_ms": [38.749750005081296, 40.57412501424551, 41.63570795208216, 40.889292024075985, 41.403291979804635, 42.71774995140731]}, "reduction_pct": -15.495998177416181, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 256, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.40391703043133, "min_ms": 33.469249960035086, "max_ms": 35.05558311007917, "samples_ms": [33.469249960035086, 34.44033395498991, 35.05558311007917, 34.5252079423517, 34.36750010587275, 34.30908406153321]}, "candidate": {"median_ms": 46.19431297760457, "min_ms": 43.69416693225503, "max_ms": 47.964375000447035, "samples_ms": [43.69416693225503, 47.964375000447035, 46.300583984702826, 46.07574990950525, 46.08804197050631, 46.9970831181854]}, "reduction_pct": -34.270504538027645, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 256, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.80716701596975, "min_ms": 33.99754106067121, "max_ms": 35.62520816922188, "samples_ms": [33.99754106067121, 34.39158294349909, 34.533374942839146, 35.456582903862, 35.08095908910036, 35.62520816922188]}, "candidate": {"median_ms": 32.93895802926272, "min_ms": 31.162999803200364, "max_ms": 34.333915915340185, "samples_ms": [32.54345804452896, 31.162999803200364, 33.01837504841387, 32.85954101011157, 33.51020789705217, 34.333915915340185]}, "reduction_pct": 5.367311237510042, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 256, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.14493741001934, "min_ms": 33.469666028395295, "max_ms": 34.90562504157424, "samples_ms": [33.469666028395295, 33.501625061035156, 34.46529200300574, 34.13399984128773, 34.155874978750944, 34.90562504157424]}, "candidate": {"median_ms": 46.14712449256331, "min_ms": 44.28262519650161, "max_ms": 48.80308313295245, "samples_ms": [44.28262519650161, 45.455832965672016, 48.80308313295245, 46.8384160194546, 47.00362519361079, 44.46966596879065]}, "reduction_pct": -35.1507075219359, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 256, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 35.21287499461323, "min_ms": 34.00954091921449, "max_ms": 36.09429206699133, "samples_ms": [34.00954091921449, 34.875291865319014, 34.96979200281203, 35.45595798641443, 35.598000045865774, 36.09429206699133]}, "candidate": {"median_ms": 32.78872894588858, "min_ms": 30.727375065907836, "max_ms": 34.760459093376994, "samples_ms": [30.727375065907836, 31.798291951417923, 33.35325000807643, 32.22420788370073, 33.35470799356699, 34.760459093376994]}, "reduction_pct": 6.884260512938778, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 256, 512], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.38879153691232, "min_ms": 33.1217919010669, "max_ms": 35.00820882618427, "samples_ms": [33.1217919010669, 34.01741595007479, 34.29966699331999, 34.477916080504656, 34.516500076279044, 35.00820882618427]}, "candidate": {"median_ms": 45.057187555357814, "min_ms": 43.962083058431745, "max_ms": 45.707833021879196, "samples_ms": [43.962083058431745, 45.59512506239116, 45.06691708229482, 45.707833021879196, 45.047458028420806, 44.293375220149755]}, "reduction_pct": -31.022887230550754, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc2", "tile": [64, 256, 512], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 34.84214539639652, "min_ms": 33.75404211692512, "max_ms": 35.77066585421562, "samples_ms": [33.75404211692512, 34.571625059470534, 34.90949980914593, 35.77066585421562, 34.77479098364711, 35.375708946958184]}, "candidate": {"median_ms": 31.807999941520393, "min_ms": 29.7283751424402, "max_ms": 33.02587498910725, "samples_ms": [29.7283751424402, 30.72129189968109, 32.953582936897874, 31.430125003680587, 33.02587498910725, 32.1858748793602]}, "reduction_pct": 8.708262422869995, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 128], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 59.79906243737787, "min_ms": 58.727791998535395, "max_ms": 61.80366687476635, "samples_ms": [59.981249971315265, 58.727791998535395, 61.2513751257211, 59.616874903440475, 61.80366687476635, 59.577709063887596]}, "candidate": {"median_ms": 98.25556189753115, "min_ms": 97.74987515993416, "max_ms": 98.62716705538332, "samples_ms": [97.74987515993416, 97.89075003936887, 98.30145793966949, 98.62716705538332, 98.20966585539281, 98.58637489378452]}, "reduction_pct": -64.3095357898383, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 128], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 64.00683359242976, "min_ms": 62.827124958857894, "max_ms": 64.38720808364451, "samples_ms": [62.827124958857894, 63.56199993751943, 64.38720808364451, 64.08250005915761, 64.16583294048905, 63.931167125701904]}, "candidate": {"median_ms": 66.18287554010749, "min_ms": 65.16166683286428, "max_ms": 66.43333402462304, "samples_ms": [66.12395914271474, 65.16166683286428, 66.24179193750024, 66.38383283279836, 66.43333402462304, 66.04829197749496]}, "reduction_pct": -3.3997025404098435, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 256], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 60.38008292671293, "min_ms": 59.03858388774097, "max_ms": 62.838332960382104, "samples_ms": [60.70383288897574, 59.15812496095896, 62.128250021487474, 59.03858388774097, 62.838332960382104, 60.05633296445012]}, "candidate": {"median_ms": 97.94074995443225, "min_ms": 97.43583318777382, "max_ms": 98.3311659656465, "samples_ms": [98.17529213614762, 97.43583318777382, 97.72966708987951, 98.05012494325638, 98.3311659656465, 97.83137496560812]}, "reduction_pct": -62.207047766577325, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 256], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.786458456888795, "min_ms": 63.55137494392693, "max_ms": 64.93179081007838, "samples_ms": [63.69879189878702, 63.55137494392693, 64.93179081007838, 63.87412501499057, 64.10745903849602, 63.5924160014838]}, "candidate": {"median_ms": 64.37989533878863, "min_ms": 63.57079092413187, "max_ms": 65.03366702236235, "samples_ms": [65.03366702236235, 63.57079092413187, 64.5558328833431, 64.20395779423416, 64.81754197739065, 63.78645799122751]}, "reduction_pct": -0.9303493190500944, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.008271041326225, "min_ms": 60.26012497022748, "max_ms": 64.03883313760161, "samples_ms": [60.63812505453825, 60.26012497022748, 62.77483399026096, 63.25179198756814, 64.03883313760161, 63.24170809239149]}, "candidate": {"median_ms": 103.73756301123649, "min_ms": 102.31587500311434, "max_ms": 104.81399996206164, "samples_ms": [102.35991701483727, 102.31587500311434, 103.75658399425447, 103.71854202821851, 104.47499994188547, 104.81399996206164]}, "reduction_pct": -64.64118328718543, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 66.17508351337165, "min_ms": 63.94620821811259, "max_ms": 66.85608392581344, "samples_ms": [63.94620821811259, 66.34554197080433, 66.85608392581344, 66.3592079654336, 66.00462505593896, 65.00495807267725]}, "candidate": {"median_ms": 69.76683298125863, "min_ms": 68.16041609272361, "max_ms": 71.64516602642834, "samples_ms": [68.16041609272361, 69.85083315521479, 71.11266697756946, 71.64516602642834, 69.31612500920892, 69.68283280730247]}, "reduction_pct": -5.427646294033339, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 58.05997899733484, "min_ms": 56.33254093118012, "max_ms": 59.44283283315599, "samples_ms": [59.17141702957451, 56.6554160322994, 58.45966702327132, 56.33254093118012, 59.44283283315599, 57.660290971398354]}, "candidate": {"median_ms": 101.99858341366053, "min_ms": 101.42887500114739, "max_ms": 102.98116598278284, "samples_ms": [101.42887500114739, 102.98116598278284, 102.88925003260374, 101.66925005614758, 101.92508297041059, 102.07208385691047]}, "reduction_pct": -75.67795437601283, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 128, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.49252094514668, "min_ms": 62.75216583162546, "max_ms": 63.604332972317934, "samples_ms": [62.75216583162546, 63.483166974037886, 63.529792008921504, 63.501874916255474, 63.604332972317934, 63.405083026736975]}, "candidate": {"median_ms": 64.78197895921767, "min_ms": 64.29212517105043, "max_ms": 65.36220805719495, "samples_ms": [64.29212517105043, 64.32679202407598, 65.36220805719495, 64.67574997805059, 65.16262516379356, 64.88820794038475]}, "reduction_pct": -2.030881739890278, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 128], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.39512497652322, "min_ms": 62.838624930009246, "max_ms": 63.97233298048377, "samples_ms": [63.315457897260785, 63.42300004325807, 63.51620890200138, 62.838624930009246, 63.97233298048377, 63.36724990978837]}, "candidate": {"median_ms": 84.42670793738216, "min_ms": 83.68350006639957, "max_ms": 84.95029201731086, "samples_ms": [84.58908298052847, 84.26433289423585, 84.95029201731086, 83.68350006639957, 84.84283415600657, 83.99487496353686]}, "reduction_pct": -33.17539474627971, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 128], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.20883345324546, "min_ms": 62.85237497650087, "max_ms": 64.06000000424683, "samples_ms": [62.92629218660295, 63.38979094289243, 64.06000000424683, 63.17124981433153, 63.24641709215939, 62.85237497650087]}, "candidate": {"median_ms": 84.45014606695622, "min_ms": 84.08629195764661, "max_ms": 85.61154105700552, "samples_ms": [84.45587498135865, 84.08629195764661, 84.73183307796717, 84.4444171525538, 84.31354188360274, 85.61154105700552]}, "reduction_pct": -33.604974895514594, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 256], "simdgroups": 4, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.586417003534734, "min_ms": 63.08216694742441, "max_ms": 63.97229200229049, "samples_ms": [63.40629211626947, 63.08216694742441, 63.97229200229049, 63.7665418908, 63.80291702225804, 63.30899987369776]}, "candidate": {"median_ms": 78.20197858382016, "min_ms": 77.38799997605383, "max_ms": 78.6936660297215, "samples_ms": [78.35479103960097, 78.39841698296368, 78.6936660297215, 77.94012501835823, 78.04916612803936, 77.38799997605383]}, "reduction_pct": -22.98535169778941, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 256], "simdgroups": 4, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.69983300101012, "min_ms": 63.102665822952986, "max_ms": 64.23237500712276, "samples_ms": [63.532917061820626, 63.84362489916384, 64.23237500712276, 63.72249987907708, 63.67716612294316, 63.102665822952986]}, "candidate": {"median_ms": 77.84372905734926, "min_ms": 76.57879102043808, "max_ms": 78.39733292348683, "samples_ms": [78.39733292348683, 76.57879102043808, 78.0142080038786, 77.67325011081994, 78.15749989822507, 77.33812485821545]}, "reduction_pct": -22.203976666806735, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 61.911812983453274, "min_ms": 61.290707904845476, "max_ms": 63.329082913696766, "samples_ms": [61.81354192085564, 62.010084046050906, 63.329082913696766, 61.48108304478228, 62.85750004462898, 61.290707904845476]}, "candidate": {"median_ms": 71.19552057702094, "min_ms": 70.41745795868337, "max_ms": 71.96087506599724, "samples_ms": [71.56070787459612, 70.41745795868337, 71.10524992458522, 71.28579122945666, 71.96087506599724, 70.92629186809063]}, "reduction_pct": -14.995050453535995, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 61.41318753361702, "min_ms": 60.9392081387341, "max_ms": 62.59725010022521, "samples_ms": [61.35716591961682, 61.39575014822185, 62.59725010022521, 61.43062491901219, 61.99399987235665, 60.9392081387341]}, "candidate": {"median_ms": 66.05352088809013, "min_ms": 65.7157909590751, "max_ms": 67.56674987263978, "samples_ms": [66.79275003261864, 65.96341682597995, 67.56674987263978, 65.7157909590751, 65.87954191491008, 66.14362495020032]}, "reduction_pct": -7.555923313592938, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 61.43754185177386, "min_ms": 60.57624984532595, "max_ms": 61.83066591620445, "samples_ms": [60.57624984532595, 61.51666701771319, 61.465916922315955, 61.40916678123176, 61.83066591620445, 61.09408289194107]}, "candidate": {"median_ms": 68.41056258417666, "min_ms": 67.89737497456372, "max_ms": 68.78887512721121, "samples_ms": [67.97975022345781, 67.89737497456372, 68.78887512721121, 68.7539589125663, 68.60275007784367, 68.21837509050965]}, "reduction_pct": -11.349771690452926, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 128, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 61.12581246998161, "min_ms": 60.77320780605078, "max_ms": 62.19662516377866, "samples_ms": [60.97987503744662, 61.35254097171128, 62.19662516377866, 61.095708049833775, 61.15591689012945, 60.77320780605078]}, "candidate": {"median_ms": 63.03077097982168, "min_ms": 62.66850000247359, "max_ms": 64.16391697712243, "samples_ms": [64.16391697712243, 62.66850000247359, 63.280042028054595, 62.78149993158877, 63.48766596056521, 62.6695838291198]}, "reduction_pct": -3.1164551158736398, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 256, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 60.211145551875234, "min_ms": 59.43237501196563, "max_ms": 61.478584073483944, "samples_ms": [60.14295807108283, 59.43237501196563, 59.89066604524851, 60.27933303266764, 60.47937506809831, 61.478584073483944]}, "candidate": {"median_ms": 89.8966669337824, "min_ms": 87.6690000295639, "max_ms": 90.39637516252697, "samples_ms": [89.41675000824034, 87.6690000295639, 89.42070882767439, 90.39220795966685, 90.37262503989041, 90.39637516252697]}, "reduction_pct": -49.302369370022106, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 256, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 59.9094380158931, "min_ms": 59.31204091757536, "max_ms": 61.26745790243149, "samples_ms": [59.31204091757536, 59.49704209342599, 60.211583971977234, 60.44662487693131, 61.26745790243149, 59.60729205980897]}, "candidate": {"median_ms": 89.09420855343342, "min_ms": 88.59087503515184, "max_ms": 90.01100016757846, "samples_ms": [88.59087503515184, 88.79987499676645, 89.5525838714093, 89.09108396619558, 90.01100016757846, 89.09733314067125]}, "reduction_pct": -48.714812730838865, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 256, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 61.477103969082236, "min_ms": 60.560583136975765, "max_ms": 61.69387511909008, "samples_ms": [60.560583136975765, 61.50449998676777, 61.63812498562038, 61.449707951396704, 61.69387511909008, 60.781167121604085]}, "candidate": {"median_ms": 79.18108406011015, "min_ms": 78.36299994960427, "max_ms": 79.72500007599592, "samples_ms": [79.4039589818567, 78.9582091383636, 79.65074991807342, 78.36299994960427, 79.72500007599592, 78.7826671730727]}, "reduction_pct": -28.797680677885396, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [128, 256, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 60.90152100659907, "min_ms": 59.61754103191197, "max_ms": 61.46008404903114, "samples_ms": [60.843209037557244, 59.61754103191197, 60.77250000089407, 60.95983297564089, 61.46008404903114, 61.00125005468726]}, "candidate": {"median_ms": 79.39420791808516, "min_ms": 77.88962498307228, "max_ms": 80.29516600072384, "samples_ms": [77.92449998669326, 77.88962498307228, 79.05454095453024, 79.73387488164008, 80.29516600072384, 80.0469999667257]}, "reduction_pct": -30.364901575253423, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 256, 128], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 57.857624953612685, "min_ms": 55.96287501975894, "max_ms": 60.450416058301926, "samples_ms": [57.10191698744893, 59.08837518654764, 60.450416058301926, 56.51841592043638, 58.61333291977644, 55.96287501975894]}, "candidate": {"median_ms": 100.25337513070554, "min_ms": 99.88987492397428, "max_ms": 100.98091699182987, "samples_ms": [100.03845812752843, 100.3146250732243, 99.88987492397428, 100.97149992361665, 100.19212518818676, 100.98091699182987]}, "reduction_pct": -73.27599466981857, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 256, 128], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 61.68931245338172, "min_ms": 60.960167087614536, "max_ms": 65.81370788626373, "samples_ms": [61.02383299730718, 61.06674997135997, 60.960167087614536, 62.311874935403466, 63.711458118632436, 65.81370788626373]}, "candidate": {"median_ms": 66.21014606207609, "min_ms": 65.9826670307666, "max_ms": 71.96287508122623, "samples_ms": [66.2466671783477, 65.9826670307666, 66.04887498542666, 66.17362494580448, 70.00458403490484, 71.96287508122623]}, "reduction_pct": -7.328390330352197, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 256, 256], "simdgroups": 8, "walk": 0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 59.39589545596391, "min_ms": 58.55387495830655, "max_ms": 60.08745916187763, "samples_ms": [60.047625098377466, 59.607790783047676, 60.08745916187763, 58.55387495830655, 59.18400012888014, 59.135750168934464]}, "candidate": {"median_ms": 99.15185393765569, "min_ms": 98.92800007946789, "max_ms": 99.65758305042982, "samples_ms": [99.01033388450742, 98.92800007946789, 99.1397078614682, 99.56570877693594, 99.16400001384318, 99.65758305042982]}, "reduction_pct": -66.93384816660746, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "mpp", "operator": "fc1", "tile": [64, 256, 256], "simdgroups": 8, "walk": 8, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 64.98860463034362, "min_ms": 60.69420883432031, "max_ms": 65.99575001746416, "samples_ms": [60.69420883432031, 63.48704104311764, 64.50816709548235, 65.77125005424023, 65.99575001746416, 65.46904216520488]}, "candidate": {"median_ms": 68.07666691020131, "min_ms": 65.6382089946419, "max_ms": 68.59708297997713, "samples_ms": [65.6382089946419, 66.77141692489386, 68.59708297997713, 68.15712503157556, 68.14566696994007, 68.00766685046256]}, "reduction_pct": -4.751698082183253, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0} +{"group": "unpack", "operator": "qkv", "lanes": 2, "threads": 128, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 3.012958448380232, "min_ms": 2.721833996474743, "max_ms": 3.4094578586518764, "samples_ms": [2.7550829108804464, 3.2708339858800173, 3.4094578586518764, 2.721833996474743, 3.295874921604991, 2.7246668469160795]}, "candidate": {"median_ms": 2.8923124773427844, "min_ms": 2.3615839891135693, "max_ms": 3.126000054180622, "samples_ms": [3.126000054180622, 2.879916923120618, 2.3615839891135693, 2.362750004976988, 2.919208025559783, 2.904708031564951]}, "reduction_pct": 4.004236138812556}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 49.968103994615376, "min_ms": 46.252084197476506, "max_ms": 52.3542920127511, "samples_ms": [46.252084197476506, 47.39858419634402, 49.9996249563992, 51.00825009867549, 52.3542920127511, 49.93658303283155]}, "candidate": {"median_ms": 48.895916901528835, "min_ms": 47.413749853149056, "max_ms": 52.04641702584922, "samples_ms": [47.413749853149056, 48.56554185971618, 47.66920814290643, 51.641334081068635, 52.04641702584922, 49.226291943341494]}, "reduction_pct": 2.145742998777944}} +{"group": "unpack", "operator": "qkv", "lanes": 2, "threads": 256, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 2.797103952616453, "min_ms": 2.7537078130990267, "max_ms": 2.9348330572247505, "samples_ms": [2.778958063572645, 2.8350839857012033, 2.8144579846411943, 2.779749920591712, 2.9348330572247505, 2.7537078130990267]}, "candidate": {"median_ms": 2.4032086366787553, "min_ms": 2.3526670411229134, "max_ms": 2.5988752022385597, "samples_ms": [2.42033414542675, 2.5988752022385597, 2.3698341101408005, 2.3526670411229134, 2.4251670110970736, 2.3860831279307604]}, "reduction_pct": 14.082255168573276}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 49.87804149277508, "min_ms": 48.51629096083343, "max_ms": 52.49258317053318, "samples_ms": [52.49258317053318, 51.22725013643503, 50.627707969397306, 49.12837501615286, 49.09895802848041, 48.51629096083343]}, "candidate": {"median_ms": 49.28572895005345, "min_ms": 47.99925000406802, "max_ms": 51.74404103308916, "samples_ms": [51.74404103308916, 51.171874860301614, 49.18862506747246, 49.38283283263445, 47.99925000406802, 48.066750168800354]}, "reduction_pct": 1.1875216528047239}} +{"group": "unpack", "operator": "qkv", "lanes": 4, "threads": 128, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 3.3383540576323867, "min_ms": 2.943041967228055, "max_ms": 3.570500062778592, "samples_ms": [3.4179158974438906, 2.943041967228055, 3.0063330195844173, 3.3247501123696566, 3.351958002895117, 3.570500062778592]}, "candidate": {"median_ms": 2.668646047823131, "min_ms": 2.437292132526636, "max_ms": 3.00904200412333, "samples_ms": [3.00904200412333, 2.879292005673051, 2.437292132526636, 2.949667163193226, 2.4580000899732113, 2.452624961733818]}, "reduction_pct": 20.061024033029707}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 48.19112503901124, "min_ms": 46.45187500864267, "max_ms": 49.081167206168175, "samples_ms": [46.45187500864267, 48.059541964903474, 47.92812489904463, 48.322708113119006, 48.849083948880434, 49.081167206168175]}, "candidate": {"median_ms": 47.92097909376025, "min_ms": 46.94141703657806, "max_ms": 48.69379196316004, "samples_ms": [46.94141703657806, 47.722374787554145, 47.966625075787306, 47.8753331117332, 48.69379196316004, 48.30574989318848]}, "reduction_pct": 0.5605719829788192}} +{"group": "unpack", "operator": "qkv", "lanes": 4, "threads": 256, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 2.8086245292797685, "min_ms": 2.747541991993785, "max_ms": 2.934583928436041, "samples_ms": [2.934583928436041, 2.7692499570548534, 2.8094579465687275, 2.8877498116344213, 2.747541991993785, 2.8077911119908094]}, "candidate": {"median_ms": 2.3740000324323773, "min_ms": 2.3532919585704803, "max_ms": 2.4597500450909138, "samples_ms": [2.4221669882535934, 2.3592079523950815, 2.388792112469673, 2.4597500450909138, 2.35754088498652, 2.3532919585704803]}, "reduction_pct": 15.474638646656135}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 48.76722896005958, "min_ms": 48.59474999830127, "max_ms": 49.04170800000429, "samples_ms": [48.59474999830127, 48.837542068213224, 48.6438749358058, 48.71054203249514, 49.04170800000429, 48.823915887624025]}, "candidate": {"median_ms": 48.40804194100201, "min_ms": 48.10195881873369, "max_ms": 48.87629207223654, "samples_ms": [48.302749870345, 48.513334011659026, 48.8370000384748, 48.87629207223654, 48.10195881873369, 48.17000008188188]}, "reduction_pct": 0.7365335835500253}} +{"group": "unpack", "operator": "qkv", "lanes": 8, "threads": 128, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 2.8508331160992384, "min_ms": 2.696041017770767, "max_ms": 3.293875139206648, "samples_ms": [3.293875139206648, 2.806000178679824, 2.696041017770767, 2.895666053518653, 2.9558748938143253, 2.7021251153200865]}, "candidate": {"median_ms": 2.573416568338871, "min_ms": 2.3308340460062027, "max_ms": 3.1028748489916325, "samples_ms": [2.5110410060733557, 2.6357921306043863, 2.8954169247299433, 3.1028748489916325, 2.376917051151395, 2.3308340460062027]}, "reduction_pct": 9.731069356313405}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 49.64439547620714, "min_ms": 47.31045803055167, "max_ms": 49.88791584037244, "samples_ms": [47.31045803055167, 49.58124994300306, 49.707541009411216, 49.88791584037244, 49.46058290079236, 49.8622499871999]}, "candidate": {"median_ms": 49.150792066939175, "min_ms": 48.532291082665324, "max_ms": 49.52250001952052, "samples_ms": [48.77670807763934, 48.532291082665324, 49.33358309790492, 49.21541712246835, 49.52250001952052, 49.08616701141]}, "reduction_pct": 0.9942782151603158}} +{"group": "unpack", "operator": "qkv", "lanes": 8, "threads": 256, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 3.0089375795796514, "min_ms": 2.972792135551572, "max_ms": 3.110417164862156, "samples_ms": [2.995207905769348, 3.082999959588051, 3.110417164862156, 2.972792135551572, 3.0096250120550394, 3.0082501471042633]}, "candidate": {"median_ms": 2.676436910405755, "min_ms": 2.6604998856782913, "max_ms": 2.7663339860737324, "samples_ms": [2.667415887117386, 2.663416089490056, 2.7663339860737324, 2.6604998856782913, 2.685457933694124, 2.685458166524768]}, "reduction_pct": 11.050434260598607}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 48.95018809475005, "min_ms": 48.11400012113154, "max_ms": 49.70504203811288, "samples_ms": [48.11400012113154, 48.64716716110706, 48.56958310119808, 49.25320902839303, 49.42716704681516, 49.70504203811288]}, "candidate": {"median_ms": 48.75424993224442, "min_ms": 47.985499957576394, "max_ms": 49.37275010161102, "samples_ms": [48.16216602921486, 47.985499957576394, 48.71866689063609, 48.789832973852754, 49.003709107637405, 49.37275010161102]}, "reduction_pct": 0.4002807141953335}} +{"group": "unpack", "operator": "fc2", "lanes": 2, "threads": 128, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 2.1764999255537987, "min_ms": 1.6474579460918903, "max_ms": 2.326082903891802, "samples_ms": [2.221875125542283, 1.714083133265376, 1.6474579460918903, 2.1587498486042023, 2.194250002503395, 2.326082903891802]}, "candidate": {"median_ms": 2.028645947575569, "min_ms": 1.4096670784056187, "max_ms": 2.136250026524067, "samples_ms": [2.0127499010413885, 1.9904589280486107, 1.4096670784056187, 2.136250026524067, 2.04454199410975, 2.045540837571025]}, "reduction_pct": 6.79319931245157}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 36.52379149571061, "min_ms": 36.12149995751679, "max_ms": 36.804832983762026, "samples_ms": [36.58037493005395, 36.38229100033641, 36.12149995751679, 36.63479210808873, 36.46720806136727, 36.804832983762026]}, "candidate": {"median_ms": 36.16639552637935, "min_ms": 35.967209143564105, "max_ms": 36.6698750294745, "samples_ms": [36.2744580488652, 35.967209143564105, 36.0406250692904, 36.058333003893495, 36.6698750294745, 36.32033383473754]}, "reduction_pct": 0.9785292125907508}} +{"group": "unpack", "operator": "fc2", "lanes": 2, "threads": 256, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 1.591791631653905, "min_ms": 1.5801249537616968, "max_ms": 1.723709050565958, "samples_ms": [1.5801249537616968, 1.6954168677330017, 1.723709050565958, 1.6006662044674158, 1.582917058840394, 1.5815829392522573]}, "candidate": {"median_ms": 1.359250396490097, "min_ms": 1.3114579487591982, "max_ms": 1.3992919120937586, "samples_ms": [1.3992919120937586, 1.3679589610546827, 1.3595419004559517, 1.3589588925242424, 1.335666049271822, 1.3114579487591982]}, "reduction_pct": 14.608773569326573}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 37.30770805850625, "min_ms": 36.52079193852842, "max_ms": 37.82283398322761, "samples_ms": [36.52079193852842, 37.675000028684735, 37.024415796622634, 37.82283398322761, 37.18841611407697, 37.42700000293553]}, "candidate": {"median_ms": 37.264708429574966, "min_ms": 36.200499860569835, "max_ms": 37.65112510882318, "samples_ms": [36.29908314906061, 36.200499860569835, 37.45891689322889, 37.65112510882318, 37.1370839420706, 37.39233291707933]}, "reduction_pct": 0.11525668868174188}} +{"group": "unpack", "operator": "fc2", "lanes": 4, "threads": 128, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 1.6842915210872889, "min_ms": 1.571665983647108, "max_ms": 1.8738750368356705, "samples_ms": [1.6727910842746496, 1.5757500659674406, 1.571665983647108, 1.695791957899928, 1.8738750368356705, 1.6997500788420439]}, "candidate": {"median_ms": 1.3427914818748832, "min_ms": 1.2893339153379202, "max_ms": 1.4460829552263021, "samples_ms": [1.3589579612016678, 1.3011249247938395, 1.2893339153379202, 1.3266250025480986, 1.4460829552263021, 1.361542148515582]}, "reduction_pct": 20.275589762035462}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 36.98645858094096, "min_ms": 36.061666905879974, "max_ms": 38.04287500679493, "samples_ms": [36.061666905879974, 36.470916820690036, 36.80479200556874, 37.16812515631318, 37.33900003135204, 38.04287500679493]}, "candidate": {"median_ms": 37.370853940956295, "min_ms": 36.50595899671316, "max_ms": 38.162291049957275, "samples_ms": [36.50595899671316, 37.39512502215803, 37.01962507329881, 37.34658285975456, 38.162291049957275, 38.043915992602706]}, "reduction_pct": -1.0392867410490947}} +{"group": "unpack", "operator": "fc2", "lanes": 4, "threads": 256, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 1.765687484294176, "min_ms": 1.7103329300880432, "max_ms": 1.9108750857412815, "samples_ms": [1.9108750857412815, 1.7783751245588064, 1.7529998440295458, 1.7103329300880432, 1.7298748716711998, 1.86187494546175]}, "candidate": {"median_ms": 1.4076875522732735, "min_ms": 1.3741659931838512, "max_ms": 1.480249920859933, "samples_ms": [1.4768331311643124, 1.480249920859933, 1.3874578289687634, 1.3741659931838512, 1.4230830129235983, 1.3922920916229486]}, "reduction_pct": 20.275384812166298}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 38.445541518740356, "min_ms": 37.49095811508596, "max_ms": 39.76120799779892, "samples_ms": [37.49095811508596, 37.90116705931723, 38.37700001895428, 38.514083018526435, 38.57575007714331, 39.76120799779892]}, "candidate": {"median_ms": 38.93037501256913, "min_ms": 37.44658292271197, "max_ms": 39.427584037184715, "samples_ms": [37.44658292271197, 37.45900001376867, 38.869749987497926, 39.31016707792878, 38.99100003764033, 39.427584037184715]}, "reduction_pct": -1.2610915978187975}} +{"group": "unpack", "operator": "fc2", "lanes": 8, "threads": 128, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 1.7134579829871655, "min_ms": 1.6902079805731773, "max_ms": 1.8400829285383224, "samples_ms": [1.7334579024463892, 1.8400829285383224, 1.69179099611938, 1.6934580635279417, 1.6902079805731773, 1.7727920785546303]}, "candidate": {"median_ms": 1.429312047548592, "min_ms": 1.4042500406503677, "max_ms": 1.5134159475564957, "samples_ms": [1.5043749008327723, 1.5134159475564957, 1.4151660725474358, 1.412124838680029, 1.4434580225497484, 1.4042500406503677]}, "reduction_pct": 16.583186647110317}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 39.86033354885876, "min_ms": 39.17104098945856, "max_ms": 40.33637512475252, "samples_ms": [39.51695910654962, 40.33637512475252, 40.28416587971151, 39.17104098945856, 39.618375012651086, 40.10229208506644]}, "candidate": {"median_ms": 39.79412489570677, "min_ms": 39.281709119677544, "max_ms": 40.1190840639174, "samples_ms": [39.690874982625246, 39.76074978709221, 39.281709119677544, 40.024416986852884, 40.1190840639174, 39.82750000432134]}, "reduction_pct": 0.16610160341692382}} +{"group": "unpack", "operator": "fc2", "lanes": 8, "threads": 256, "bit_equal": true, "decode": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 1.8059374997392297, "min_ms": 1.7295829020440578, "max_ms": 1.976290950551629, "samples_ms": [1.976290950551629, 1.744791865348816, 1.80658302269876, 1.8052919767796993, 1.8619170878082514, 1.7295829020440578]}, "candidate": {"median_ms": 1.5007710317149758, "min_ms": 1.468417001888156, "max_ms": 1.6903330106288195, "samples_ms": [1.6035421285778284, 1.485415967181325, 1.4942919369786978, 1.507250126451254, 1.6903330106288195, 1.468417001888156]}, "reduction_pct": 16.89795289528673}, "with_gemm": {"order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 39.135062135756016, "min_ms": 38.90095790848136, "max_ms": 39.62595900520682, "samples_ms": [39.13941606879234, 39.40516686998308, 38.95041602663696, 39.13070820271969, 38.90095790848136, 39.62595900520682]}, "candidate": {"median_ms": 39.152541547082365, "min_ms": 38.64799998700619, "max_ms": 39.39266689121723, "samples_ms": [38.955500116571784, 38.64799998700619, 39.15004199370742, 39.23345799557865, 39.39266689121723, 39.15504110045731]}, "reduction_pct": -0.044664324961884994}} diff --git a/reports/optimization-r3/shapes-extra.json b/reports/optimization-r3/shapes-extra.json new file mode 100644 index 0000000000000000000000000000000000000000..e5f9cd54c8c8af276f48aae736626c3fc35eaa4e --- /dev/null +++ b/reports/optimization-r3/shapes-extra.json @@ -0,0 +1,442 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Real first-head block inputs, including original reference positions and modality/time selection for editing. Only operator timing; no 4K image latency claim.", + "trials": [ + { + "case": "product", + "shape": [ + 4181, + 14336 + ], + "max_input_abs": 4640.0, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 33.042833441868424, + "min_ms": 32.237624982371926, + "max_ms": 33.636583015322685, + "samples_ms": [ + 33.01150002516806, + 32.237624982371926, + 32.628250075504184, + 33.07416685856879, + 33.200540812686086, + 33.150583039969206, + 33.636583015322685, + 32.380625139921904 + ] + }, + "candidate": { + "median_ms": 28.15485466271639, + "min_ms": 27.489833068102598, + "max_ms": 28.566874796524644, + "samples_ms": [ + 28.441457776352763, + 27.489833068102598, + 28.053124900907278, + 28.027165913954377, + 28.157417196780443, + 28.566874796524644, + 28.152292128652334, + 28.41929206624627 + ] + }, + "reduction_pct": 14.792856029587643 + }, + { + "case": "product", + "group": "extra-bk", + "bk": 1024, + "simdgroups": 4, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 27.8124165488407, + "min_ms": 26.48258302360773, + "max_ms": 29.122292064130306, + "samples_ms": [ + 27.870082994922996, + 27.754750102758408, + 27.073832927271724, + 29.122292064130306, + 28.744082897901535, + 27.531167026609182, + 28.69916590861976, + 26.48258302360773 + ] + }, + "candidate": { + "median_ms": 28.317416552454233, + "min_ms": 26.738333981484175, + "max_ms": 29.12354189902544, + "samples_ms": [ + 28.080707881599665, + 28.5541252233088, + 26.738333981484175, + 27.974374825134873, + 27.150458889082074, + 28.709040954709053, + 29.12354189902544, + 28.71645800769329 + ] + }, + "reduction_pct": -1.8157357981702704 + }, + { + "case": "product", + "group": "extra-bk", + "bk": 1024, + "simdgroups": 8, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 28.13839609734714, + "min_ms": 27.390541974455118, + "max_ms": 29.253958025947213, + "samples_ms": [ + 28.57012487947941, + 27.832375140860677, + 27.517917100340128, + 28.444417053833604, + 27.467374922707677, + 27.390541974455118, + 29.12704204209149, + 29.253958025947213 + ] + }, + "candidate": { + "median_ms": 37.32595848850906, + "min_ms": 34.768959041684866, + "max_ms": 38.17262500524521, + "samples_ms": [ + 37.48962515965104, + 37.96587511897087, + 35.950416000559926, + 34.768959041684866, + 38.17262500524521, + 37.24762494675815, + 37.40429203025997, + 37.00120793655515 + ] + }, + "reduction_pct": -32.65133648476899 + }, + { + "case": "product", + "group": "extra-bk", + "bk": 2048, + "simdgroups": 4, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 28.42181292362511, + "min_ms": 27.404916938394308, + "max_ms": 28.925957856699824, + "samples_ms": [ + 28.925957856699824, + 28.4215419087559, + 27.404916938394308, + 28.556666104122996, + 28.538165846839547, + 28.422083938494325, + 27.869249926880002, + 27.8524998575449 + ] + }, + "candidate": { + "median_ms": 27.161458041518927, + "min_ms": 26.21208387427032, + "max_ms": 28.63950002938509, + "samples_ms": [ + 28.219875181093812, + 27.0388750359416, + 28.63950002938509, + 28.287915978580713, + 26.21208387427032, + 27.177583193406463, + 27.031124802306294, + 27.14533288963139 + ] + }, + "reduction_pct": 4.43446336619343 + }, + { + "case": "product", + "group": "extra-bk", + "bk": 2048, + "simdgroups": 8, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 27.931874967180192, + "min_ms": 27.118500089272857, + "max_ms": 29.52962485142052, + "samples_ms": [ + 27.463375125080347, + 28.105749981477857, + 27.700332924723625, + 29.52962485142052, + 27.75799995288253, + 27.118500089272857, + 28.941083000972867, + 28.441834030672908 + ] + }, + "candidate": { + "median_ms": 35.712853888981044, + "min_ms": 33.77579199150205, + "max_ms": 37.14725002646446, + "samples_ms": [ + 33.77579199150205, + 35.99304216913879, + 36.445540841668844, + 37.14725002646446, + 35.47770786099136, + 35.94799991697073, + 35.11366713792086, + 34.100749995559454 + ] + }, + "reduction_pct": -27.856987513167162 + }, + { + "case": "edit", + "shape": [ + 6213, + 14336 + ], + "max_input_abs": 4896.0, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 49.04352081939578, + "min_ms": 47.92608390562236, + "max_ms": 49.706167075783014, + "samples_ms": [ + 49.3492919486016, + 48.817583126947284, + 47.92608390562236, + 49.199249828234315, + 48.887791810557246, + 48.79499995149672, + 49.706167075783014, + 49.613208044320345 + ] + }, + "candidate": { + "median_ms": 42.787083075381815, + "min_ms": 42.15908283367753, + "max_ms": 43.89045783318579, + "samples_ms": [ + 42.591708013787866, + 43.02670806646347, + 42.48175001703203, + 42.15908283367753, + 42.982458136975765, + 43.89045783318579, + 43.20437484420836, + 42.41245798766613 + ] + }, + "reduction_pct": 12.756909861862253 + }, + { + "case": "boundary-8192-repeated-edit", + "shape": [ + 8192, + 14336 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 63.48525010980666, + "min_ms": 62.69479193724692, + "max_ms": 66.02362496778369, + "samples_ms": [ + 62.69479193724692, + 66.02362496778369, + 63.47395805642009, + 64.20674989931285, + 63.263416988775134, + 64.19087504036725, + 63.30712488852441, + 63.496542163193226 + ] + }, + "candidate": { + "median_ms": 56.314270943403244, + "min_ms": 55.50241586752236, + "max_ms": 59.01762517169118, + "samples_ms": [ + 57.44633311405778, + 55.8290418703109, + 59.01762517169118, + 55.786874843761325, + 55.50241586752236, + 56.36679194867611, + 57.48354201205075, + 56.26174993813038 + ] + }, + "reduction_pct": 11.295504316357263 + } + ] +} diff --git a/reports/optimization-r3/shapes-extra.log b/reports/optimization-r3/shapes-extra.log new file mode 100644 index 0000000000000000000000000000000000000000..238b2b359e8673f624b4faa591e031c0a712b95e --- /dev/null +++ b/reports/optimization-r3/shapes-extra.log @@ -0,0 +1,7 @@ +{"case": "product", "shape": [4181, 14336], "max_input_abs": 4640.0, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 33.042833441868424, "min_ms": 32.237624982371926, "max_ms": 33.636583015322685, "samples_ms": [33.01150002516806, 32.237624982371926, 32.628250075504184, 33.07416685856879, 33.200540812686086, 33.150583039969206, 33.636583015322685, 32.380625139921904]}, "candidate": {"median_ms": 28.15485466271639, "min_ms": 27.489833068102598, "max_ms": 28.566874796524644, "samples_ms": [28.441457776352763, 27.489833068102598, 28.053124900907278, 28.027165913954377, 28.157417196780443, 28.566874796524644, 28.152292128652334, 28.41929206624627]}, "reduction_pct": 14.792856029587643} +{"case": "product", "group": "extra-bk", "bk": 1024, "simdgroups": 4, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 27.8124165488407, "min_ms": 26.48258302360773, "max_ms": 29.122292064130306, "samples_ms": [27.870082994922996, 27.754750102758408, 27.073832927271724, 29.122292064130306, 28.744082897901535, 27.531167026609182, 28.69916590861976, 26.48258302360773]}, "candidate": {"median_ms": 28.317416552454233, "min_ms": 26.738333981484175, "max_ms": 29.12354189902544, "samples_ms": [28.080707881599665, 28.5541252233088, 26.738333981484175, 27.974374825134873, 27.150458889082074, 28.709040954709053, 29.12354189902544, 28.71645800769329]}, "reduction_pct": -1.8157357981702704} +{"case": "product", "group": "extra-bk", "bk": 1024, "simdgroups": 8, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 28.13839609734714, "min_ms": 27.390541974455118, "max_ms": 29.253958025947213, "samples_ms": [28.57012487947941, 27.832375140860677, 27.517917100340128, 28.444417053833604, 27.467374922707677, 27.390541974455118, 29.12704204209149, 29.253958025947213]}, "candidate": {"median_ms": 37.32595848850906, "min_ms": 34.768959041684866, "max_ms": 38.17262500524521, "samples_ms": [37.48962515965104, 37.96587511897087, 35.950416000559926, 34.768959041684866, 38.17262500524521, 37.24762494675815, 37.40429203025997, 37.00120793655515]}, "reduction_pct": -32.65133648476899} +{"case": "product", "group": "extra-bk", "bk": 2048, "simdgroups": 4, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 28.42181292362511, "min_ms": 27.404916938394308, "max_ms": 28.925957856699824, "samples_ms": [28.925957856699824, 28.4215419087559, 27.404916938394308, 28.556666104122996, 28.538165846839547, 28.422083938494325, 27.869249926880002, 27.8524998575449]}, "candidate": {"median_ms": 27.161458041518927, "min_ms": 26.21208387427032, "max_ms": 28.63950002938509, "samples_ms": [28.219875181093812, 27.0388750359416, 28.63950002938509, 28.287915978580713, 26.21208387427032, 27.177583193406463, 27.031124802306294, 27.14533288963139]}, "reduction_pct": 4.43446336619343} +{"case": "product", "group": "extra-bk", "bk": 2048, "simdgroups": 8, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 27.931874967180192, "min_ms": 27.118500089272857, "max_ms": 29.52962485142052, "samples_ms": [27.463375125080347, 28.105749981477857, 27.700332924723625, 29.52962485142052, 27.75799995288253, 27.118500089272857, 28.941083000972867, 28.441834030672908]}, "candidate": {"median_ms": 35.712853888981044, "min_ms": 33.77579199150205, "max_ms": 37.14725002646446, "samples_ms": [33.77579199150205, 35.99304216913879, 36.445540841668844, 37.14725002646446, 35.47770786099136, 35.94799991697073, 35.11366713792086, 34.100749995559454]}, "reduction_pct": -27.856987513167162} +{"case": "edit", "shape": [6213, 14336], "max_input_abs": 4896.0, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 49.04352081939578, "min_ms": 47.92608390562236, "max_ms": 49.706167075783014, "samples_ms": [49.3492919486016, 48.817583126947284, 47.92608390562236, 49.199249828234315, 48.887791810557246, 48.79499995149672, 49.706167075783014, 49.613208044320345]}, "candidate": {"median_ms": 42.787083075381815, "min_ms": 42.15908283367753, "max_ms": 43.89045783318579, "samples_ms": [42.591708013787866, 43.02670806646347, 42.48175001703203, 42.15908283367753, 42.982458136975765, 43.89045783318579, 43.20437484420836, 42.41245798766613]}, "reduction_pct": 12.756909861862253} +{"case": "boundary-8192-repeated-edit", "shape": [8192, 14336], "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 63.48525010980666, "min_ms": 62.69479193724692, "max_ms": 66.02362496778369, "samples_ms": [62.69479193724692, 66.02362496778369, 63.47395805642009, 64.20674989931285, 63.263416988775134, 64.19087504036725, 63.30712488852441, 63.496542163193226]}, "candidate": {"median_ms": 56.314270943403244, "min_ms": 55.50241586752236, "max_ms": 59.01762517169118, "samples_ms": [57.44633311405778, 55.8290418703109, 59.01762517169118, 55.786874843761325, 55.50241586752236, 56.36679194867611, 57.48354201205075, 56.26174993813038]}, "reduction_pct": 11.295504316357263} diff --git a/reports/optimization-r3/shapes.json b/reports/optimization-r3/shapes.json new file mode 100644 index 0000000000000000000000000000000000000000..d0ff8c1b2a803db891be694b5441f23cacad2dad --- /dev/null +++ b/reports/optimization-r3/shapes.json @@ -0,0 +1,211 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "Real first-head block inputs, including original reference positions and modality/time selection for editing. Only operator timing; no 4K image latency claim.", + "trials": [ + { + "case": "product", + "shape": [ + 4181, + 14336 + ], + "max_input_abs": 4640.0, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 32.3725410271436, + "min_ms": 32.04958303831518, + "max_ms": 33.41370797716081, + "samples_ms": [ + 32.18233399093151, + 33.41370797716081, + 32.23154111765325, + 32.04958303831518, + 32.08329202607274, + 32.67187485471368, + 32.827749848365784, + 32.513540936633945 + ] + }, + "candidate": { + "median_ms": 27.95658342074603, + "min_ms": 27.05545909702778, + "max_ms": 28.375749941915274, + "samples_ms": [ + 27.210208121687174, + 27.4191671051085, + 27.05545909702778, + 27.759332908317447, + 28.288082918152213, + 28.2235408667475, + 28.375749941915274, + 28.15383393317461 + ] + }, + "reduction_pct": 13.641059571736724 + }, + { + "case": "edit", + "shape": [ + 6213, + 14336 + ], + "max_input_abs": 4896.0, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 48.93547890242189, + "min_ms": 47.166166827082634, + "max_ms": 49.918416887521744, + "samples_ms": [ + 47.166166827082634, + 48.30387490801513, + 48.94429096020758, + 49.83949987217784, + 48.914250219240785, + 48.9266668446362, + 49.314916133880615, + 49.918416887521744 + ] + }, + "candidate": { + "median_ms": 42.391062481328845, + "min_ms": 40.70562496781349, + "max_ms": 43.440750101581216, + "samples_ms": [ + 41.450208984315395, + 40.70562496781349, + 42.55229188129306, + 42.22983308136463, + 43.25987515039742, + 43.440750101581216, + 41.92187497392297, + 42.83887497149408 + ] + }, + "reduction_pct": 13.373561611898632 + }, + { + "case": "native-4k", + "shape": [ + 16478, + 14336 + ], + "max_input_abs": 5280.0, + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0, + "order": [ + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control", + "control", + "candidate", + "candidate", + "control" + ], + "control": { + "median_ms": 118.62039647530764, + "min_ms": 116.92587495781481, + "max_ms": 121.22062500566244, + "samples_ms": [ + 116.92587495781481, + 118.40945901349187, + 119.14812494069338, + 119.59566711448133, + 117.6179579924792, + 117.98929097130895, + 118.83133393712342, + 121.22062500566244 + ] + }, + "candidate": { + "median_ms": 117.64152103569359, + "min_ms": 115.85712502710521, + "max_ms": 119.04883407987654, + "samples_ms": [ + 115.85712502710521, + 117.02779214829206, + 117.91012506000698, + 117.55495797842741, + 116.24608398415148, + 117.72808409295976, + 118.38408303447068, + 119.04883407987654 + ] + }, + "reduction_pct": 0.8252167997245041 + } + ] +} diff --git a/reports/optimization-r3/shapes.log b/reports/optimization-r3/shapes.log new file mode 100644 index 0000000000000000000000000000000000000000..d94fc5d95e3ad8c5c2708615015b75d14983b089 --- /dev/null +++ b/reports/optimization-r3/shapes.log @@ -0,0 +1,3 @@ +{"case": "product", "shape": [4181, 14336], "max_input_abs": 4640.0, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 32.3725410271436, "min_ms": 32.04958303831518, "max_ms": 33.41370797716081, "samples_ms": [32.18233399093151, 33.41370797716081, 32.23154111765325, 32.04958303831518, 32.08329202607274, 32.67187485471368, 32.827749848365784, 32.513540936633945]}, "candidate": {"median_ms": 27.95658342074603, "min_ms": 27.05545909702778, "max_ms": 28.375749941915274, "samples_ms": [27.210208121687174, 27.4191671051085, 27.05545909702778, 27.759332908317447, 28.288082918152213, 28.2235408667475, 28.375749941915274, 28.15383393317461]}, "reduction_pct": 13.641059571736724} +{"case": "edit", "shape": [6213, 14336], "max_input_abs": 4896.0, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 48.93547890242189, "min_ms": 47.166166827082634, "max_ms": 49.918416887521744, "samples_ms": [47.166166827082634, 48.30387490801513, 48.94429096020758, 49.83949987217784, 48.914250219240785, 48.9266668446362, 49.314916133880615, 49.918416887521744]}, "candidate": {"median_ms": 42.391062481328845, "min_ms": 40.70562496781349, "max_ms": 43.440750101581216, "samples_ms": [41.450208984315395, 40.70562496781349, 42.55229188129306, 42.22983308136463, 43.25987515039742, 43.440750101581216, 41.92187497392297, 42.83887497149408]}, "reduction_pct": 13.373561611898632} +{"case": "native-4k", "shape": [16478, 14336], "max_input_abs": 5280.0, "max_abs": 0.0, "relative_rmse": 0.0, "equal_fraction": 1.0, "order": ["control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control", "control", "candidate", "candidate", "control"], "control": {"median_ms": 118.62039647530764, "min_ms": 116.92587495781481, "max_ms": 121.22062500566244, "samples_ms": [116.92587495781481, 118.40945901349187, 119.14812494069338, 119.59566711448133, 117.6179579924792, 117.98929097130895, 118.83133393712342, 121.22062500566244]}, "candidate": {"median_ms": 117.64152103569359, "min_ms": 115.85712502710521, "max_ms": 119.04883407987654, "samples_ms": [115.85712502710521, 117.02779214829206, 117.91012506000698, 117.55495797842741, 116.24608398415148, 117.72808409295976, 118.38408303447068, 119.04883407987654]}, "reduction_pct": 0.8252167997245041} diff --git a/reports/optimization-r3/skill-source-audit.json b/reports/optimization-r3/skill-source-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..8de327bda6460980c1aeafc567c94e8a3fea7ebf --- /dev/null +++ b/reports/optimization-r3/skill-source-audit.json @@ -0,0 +1,104 @@ +[ + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/reports/design.md", + "ok": false, + "expected_sha256": "25e8da894674db0b6c39e72d223f920f42bef5a60e887097ab11fea372416786", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/reports/followup.md", + "ok": false, + "expected_sha256": "1090ef491cf821d163919df004047f7463092c0b1b92a50639472ba0e8b8d645", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/reports/speed.md", + "ok": false, + "expected_sha256": "c70a741dfb1b9a693585fc80bc986f57cd9e0b1fc4b22f076c3c78f8a8ee435e", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/results/speed-summary.json", + "ok": false, + "expected_sha256": "a7a006acc2eef7a7842ef65e7a092e6cb66f052c5b2a8907d4ce707bdc51be4f", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/results/research/speed-exact-fp16-validation.json", + "ok": false, + "expected_sha256": "1309092faac11d4e66a8c2222ef576ebe20ac44f5e037529ec7637a862daec76", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/results/speed-audit.json", + "ok": false, + "expected_sha256": "2fe56362021d03553bd90ca40e8e02f4e4e439bc7d7d4801eb9a657dbd6e64ac", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/hi3d_mac/mlx_backend/transformer.py", + "ok": false, + "expected_sha256": "2136e87a520c6f43d6080a12b77c7c36c9b1ca4ef83cd04ccf61b56dc122519c", + "actual_sha256": null + }, + { + "path": "Hi3Dv1.0/Hi3Dv1.0-mlx-convert/mac/hi3d_mac/metrics.py", + "ok": false, + "expected_sha256": "b3843a2f1a6c3ab73d1e2f4be2c317af6523d40a5c3bcdbb46c150a96237386c", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/docs/precision-investigation.md", + "ok": false, + "expected_sha256": "0699e590c20809c62494e8aadb5cfa7506b3471e101c3f2b83aff70dbfcb3597", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/docs/evaluation-system.md", + "ok": false, + "expected_sha256": "44866f3a01b23945f84455bee15a0fdcb1d5108e283f2e091a616aa4a24db574", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/docs/limits-20261022.md", + "ok": false, + "expected_sha256": "4f6edc6ce26a454c1bceb41248cbe5ab65176c58446d671d4eab00a459f14a26", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/reports/limits-20261022/finalists-balanced-summary.json", + "ok": false, + "expected_sha256": "14ac914685d9edcdccca0aec2c28444ca986171e06322fb0ccf1bbca52b0b861", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/reports/limits-20261022/finalists-balanced.json", + "ok": false, + "expected_sha256": "0bfe98b9021286e9e8611f666f18380d766e73b95219eddf88f31395cae5de49", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/reports/limits-20261022/conditioning-validation.json", + "ok": false, + "expected_sha256": "33252d92c72fdec3348211320e6589422d510ef272b34ea8a4951dbddeb513d9", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/reports/limits-20261022/final-audit.json", + "ok": false, + "expected_sha256": "32db5ec1a0db652dd915a6a17ba4e27f9d57bcdf7cff87048f66b7039e9b232c", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/fluxmac/limits/conditioning.py", + "ok": false, + "expected_sha256": "f0341354c446d4f0bd18ba9bdb0320754d4f81ec92306059da3fe6e35b952836", + "actual_sha256": null + }, + { + "path": "flux/flux-3-image-klein-mlx-convert/fluxmac/limits/exact.py", + "ok": false, + "expected_sha256": "7f988ee37810cfcd2fc56c30c1b6e46bb6ac02adec996709ffc39a78531da157", + "actual_sha256": null + } +] diff --git a/reports/optimization-r3/tests.log b/reports/optimization-r3/tests.log new file mode 100644 index 0000000000000000000000000000000000000000..40237afd855166a3c8be63d1de324e3388672e3c --- /dev/null +++ b/reports/optimization-r3/tests.log @@ -0,0 +1,2 @@ +....................................... [100%] +39 passed in 2.18s diff --git a/reports/optimization-r3/trace-audit.json b/reports/optimization-r3/trace-audit.json new file mode 100644 index 0000000000000000000000000000000000000000..39d086f2c7cabff839b275ff405c894f0fed4a2d --- /dev/null +++ b/reports/optimization-r3/trace-audit.json @@ -0,0 +1,882 @@ +[ + { + "case": "product", + "variant": "control", + "repeat": -1, + "phase": "cold", + "seconds": 71.88108945800923, + "peak_memory_bytes": 41023231816, + "mlx_peak_bytes": 40352740044, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/control-cold--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 15.38127875002101, + 10.495420958148316, + 10.931075125001371, + 10.80113216699101, + 10.700902125099674, + 10.93087162496522 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": -1, + "phase": "warmup", + "seconds": 65.45604600012302, + "peak_memory_bytes": 41405339560, + "mlx_peak_bytes": 40731251916, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/qk-fc2-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.27856070897542, + 10.562935125082731, + 10.621015165932477, + 10.538033208111301, + 10.62600470916368, + 10.609485917026177 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 68.59933650004677, + "peak_memory_bytes": 42686339608, + "mlx_peak_bytes": 40836142240, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.232307167025283, + 11.155369125073776, + 11.181794625008479, + 11.19105491694063, + 11.266168375033885, + 11.14753987500444 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": 0, + "phase": "timed", + "seconds": 65.93319679214619, + "peak_memory_bytes": 42287602224, + "mlx_peak_bytes": 40731251916, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/qk-fc2-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.573326792102307, + 10.764806583058089, + 10.743913582991809, + 10.55372745799832, + 10.52767491596751, + 10.614938125014305 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": 1, + "phase": "timed", + "seconds": 64.01737074996345, + "peak_memory_bytes": 42329938480, + "mlx_peak_bytes": 40731251916, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/qk-fc2-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.327726167161018, + 10.41661983402446, + 10.333738416898996, + 10.428783542010933, + 10.443926375126466, + 10.415708124870434 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 67.6780596668832, + "peak_memory_bytes": 42925644384, + "mlx_peak_bytes": 40761185480, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.867017999989912, + 11.097974750213325, + 10.9604552090168, + 10.893143624998629, + 10.916360415983945, + 10.795650250045583 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "control", + "repeat": 2, + "phase": "timed", + "seconds": 66.15550529095344, + "peak_memory_bytes": 42964867704, + "mlx_peak_bytes": 40836142216, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/control-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.350283042062074, + 10.759192750090733, + 10.788403084035963, + 10.724042082903907, + 10.76825154083781, + 10.648499625036493 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "product", + "variant": "qk-fc2", + "repeat": 2, + "phase": "timed", + "seconds": 63.998171125072986, + "peak_memory_bytes": 42437024448, + "mlx_peak_bytes": 40731251916, + "output_sha256": "eaed6c290ea3f7843ed4a789614cf3ad384d5acf3d0e0cc40a569fdcb850390f", + "output": "outputs/optimization-r3/product/qk-fc2-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.048932957928628, + 10.214330125134438, + 10.270042832940817, + 10.386969999875873, + 10.473770290846005, + 10.46236433298327 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "b685a8edfebeda57f4a31d9691205b274b849f6248ce8057cf8e9e7e81b1abd8", + "initial_rows": "19bd4683773526ec17d6bafd3fb88e24c0d50ca0a2ad3eeb5dd396cef1026c3d", + "latent": "ae8449539171b1eac0996274c7d47b9466c76065091e10225effcbc3c9c34f14", + "rows.0": "409d2cec54520533a8d2b69c3991d31e3587e48fd8af6222551f15eb5de7666e", + "rows.1": "5aad207f05ca1458697472e3982f69922c13ba8039ce635e534b943aadeba57a", + "rows.2": "409ae34e14ad0ad8d3e9134c02aed422c007e42a9baf944be15dfe0e793c2780", + "rows.3": "77f540ff8f4bb05057e1ac8121a18903fa05e8950d5c2e41298882beb737c687", + "rows.4": "9cea0cd1e97770f2e934729fb93b3465d046303ba5ff232c9659a68655c837e5", + "rows.5": "a1d12368a5961867a8fd000b9db3962d8e1327253925984b1d13414fc89a4124", + "text_tags": "d4b885e45ca5f46f0fc83c1d498ef02bb673a862e31cac09c6d1a259656f2eff", + "velocity.0": "1d496bb0121f54a148b6e559b42d7bf9a2534fe5ccc955933422aed6e16f43f6", + "velocity.1": "aaee5bf0c80aea254f97cf1460fa2e86209eefd89f348093d125c86c27523981", + "velocity.2": "e37f00ac142e59e41c4451d75577ae83f4eed94f7003014aaf8e53302003c56e", + "velocity.3": "fda4c1a41e68f066153cd4d81569ee72e6ae7ba1016b42bbebd9de6718327575", + "velocity.4": "da7f6428d147c04db40cc29b586ce16566b96347c629c88a41106279529dac73", + "velocity.5": "abbdeec04bbc4fd990567d29f32765293c96dc91c6f62e2fcbc279c66a13c806" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": -1, + "phase": "warmup", + "seconds": 66.50067662494257, + "peak_memory_bytes": 42928413400, + "mlx_peak_bytes": 40760120608, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/control-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.414454083191231, + 10.767468499951065, + 10.738615582929924, + 10.799391249893233, + 10.839179374976084, + 10.817673500161618 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": -1, + "phase": "warmup", + "seconds": 64.1909431249369, + "peak_memory_bytes": 42697366304, + "mlx_peak_bytes": 40903562708, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/qk-fc2-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.168502958957106, + 10.405522250104696, + 10.41272783302702, + 10.332954499870539, + 10.289986541960388, + 10.426924583967775 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 0, + "phase": "timed", + "seconds": 68.0219049169682, + "peak_memory_bytes": 43090402152, + "mlx_peak_bytes": 40760120908, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/control-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.885879541980103, + 11.088049875106663, + 11.107039166148752, + 11.065090750111267, + 10.819651541067287, + 10.922892624977976 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": 0, + "phase": "timed", + "seconds": 63.14736045780592, + "peak_memory_bytes": 42692877208, + "mlx_peak_bytes": 40730220112, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/qk-fc2-timed-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.343852832913399, + 10.311937124934047, + 10.07040312513709, + 10.080784375080839, + 10.095044541871175, + 10.125651291804388 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": 1, + "phase": "timed", + "seconds": 63.36688454193063, + "peak_memory_bytes": 42690911152, + "mlx_peak_bytes": 40900384316, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/qk-fc2-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.240180917084217, + 10.322078374912962, + 10.228034707950428, + 10.350710666039959, + 10.351933625061065, + 10.238879750017077 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 1, + "phase": "timed", + "seconds": 66.10143391694874, + "peak_memory_bytes": 43080047536, + "mlx_peak_bytes": 40819135904, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/control-timed-1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.560056417016312, + 10.694475375115871, + 10.76400970807299, + 10.616949083050713, + 10.67808008310385, + 10.68667491688393 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "control", + "repeat": 2, + "phase": "timed", + "seconds": 66.39527866686694, + "peak_memory_bytes": 42926791600, + "mlx_peak_bytes": 40835028428, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/control-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.53064745804295, + 11.14463270897977, + 10.842613791115582, + 10.565500583034009, + 10.513344791950658, + 10.671420915983617 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "portrait", + "variant": "qk-fc2", + "repeat": 2, + "phase": "timed", + "seconds": 63.248574083903804, + "peak_memory_bytes": 42674756528, + "mlx_peak_bytes": 40730220112, + "output_sha256": "4226310bd1d79a0d0d4c0b572e2e7729541f5f171260cfeefd5e73b0a4196a47", + "output": "outputs/optimization-r3/portrait/qk-fc2-timed-2.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.932632416021079, + 10.11093954113312, + 10.21475570788607, + 10.205349916126579, + 10.297738917171955, + 10.362275833962485 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "bbbe0986ea6bd9acfa37f8bbb5ac0789210460c1082cf463529476afb191dd45", + "initial_rows": "a8a5473cf6396e67e47bcc5156076b80cc73db3871e9f3acb7db7856616ea306", + "latent": "63bb551124d6db6bbfd1c27d977b2d9af170e01742ad255340865259b06faa7c", + "rows.0": "f15e4e8e81a473dcc21166b1ddac78b512f5a3dea8faf8dcb3c54a93cac3ad12", + "rows.1": "d0079518c93f3f8f6023d8f82dc7af6e4f6e189b6b3c512d424e9af451a09ac0", + "rows.2": "71b5d15ba434b8e49beb7ae3c98005b53f3aeba21c81fba03566d54399e8475f", + "rows.3": "8373543903bb4b80bf688b8e2551b8133ec84eb1c453e0bcb8aab8c4ca3cea4d", + "rows.4": "8cf8deed65c4ae0c1352b6c4503479fa175d71b4706fec1d9922659f7c8a5672", + "rows.5": "fe1a692f6c6bc044657e49b6588d1b6a34f81c12a9d42e5362a424f3d108ab0e", + "text_tags": "300b5e961dd062523269664e17c0795f68b032970947a76fc1594eba2feddb70", + "velocity.0": "c2e3afe02333c35190713f647f9eb07f81191270451157ef8fc9d90a1a06be78", + "velocity.1": "833e05d53e123f69251c5ee57deb101036d22f501ea48a91938ee12c5a2d6ad2", + "velocity.2": "ce8cb001082b315a97fb8e12bd1e0c6f42ad21d117d6b8e3aeefa7ab7251ad4f", + "velocity.3": "0b2ce202d675a4eb2fb372989915bbafb7d7c33d907c8f35e49b4cbfe49c14fa", + "velocity.4": "1ece15af5517e6d5d89f391744982cc57a20883f321e4d5d4d5016751deb244a", + "velocity.5": "d54c73d78e6c04adbd0ef9cd20a3a04db0c94889b9fcb80cb5513203e6bd81b9" + } + }, + { + "case": "holdout-detail", + "variant": "control", + "repeat": -1, + "phase": "warmup", + "seconds": 76.45314999995753, + "peak_memory_bytes": 43234991504, + "mlx_peak_bytes": 41048584124, + "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", + "output": "outputs/optimization-r3/holdout-detail/control-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.416530583053827, + 9.788487208075821, + 10.603374124970287, + 11.22392320795916, + 11.056711124954745, + 11.022258040960878 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "4ee5ce78b589f7640cc0e93d646bc22f9f38c38848daaf13d28961f37ae96cba", + "initial_rows": "45156c5a71ba42b17851ab8ecd0e06b0dacfa27b1b6bbe52be4f067c1e38f1a1", + "latent": "941d42b77cfdfb7b59f1de458c69a88d535414b78e66e58fe0186ae2e50492fc", + "rows.0": "56107a5d831cc47ddbbc159806a33b2474cc220c53da13b073f6a4a91c06cefb", + "rows.1": "9cf2f13dfa18e69a5411c5077e530e35e6cc350625d71ecf15acc52b4106ac8c", + "rows.2": "3164b758b03f303505b1d679c9bf2ac0160edcebf41210af73865f1d8b2e7597", + "rows.3": "c10ae550dff5d49d31a58c8776d124fe56c8293a17692826fa5c617bb60170a1", + "rows.4": "97951cefe767619e288603eea271a4d0a6d2ce5ed60dd3f5878faad1763936a5", + "rows.5": "10198b8c0ebc63d8c6e14785a7e8ab458faa003b207e6b13b943e4e6c381e690", + "text_tags": "aca0a0c7b72582b17a022940751572c1bcfa722eb6a04a418eff5b1f7f90da75", + "velocity.0": "95a5154d190417b278bfc07af09f55c3383d57a210329f068796d1e5d46c452a", + "velocity.1": "9f3eea3e90dae096cd5831963cbc9f2063c3f7991f2b5512c1a93d68a05d553b", + "velocity.2": "6e1034636da000e61e631167978241a9f917146b0e23f0ebb90f4e230e8a8bb7", + "velocity.3": "ce37371eff6133d39f476f3173305f9622e4f394de3b49751a582571b196f9d2", + "velocity.4": "996e0058cbb53968527f80d58227d8cd8ee61acb009408aea9274b391962500d", + "velocity.5": "8c5b7e57c074846e806e61c3f8ef0e2ddfa36b72838e74cc9e5c12c294160fc5" + } + }, + { + "case": "holdout-detail", + "variant": "qk-fc2", + "repeat": -1, + "phase": "warmup", + "seconds": 63.80645116697997, + "peak_memory_bytes": 42756955128, + "mlx_peak_bytes": 40790813728, + "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", + "output": "outputs/optimization-r3/holdout-detail/qk-fc2-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.295682708034292, + 10.309457333059981, + 10.143778291996568, + 10.246140707982704, + 10.29201937513426, + 10.354217084124684 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "4ee5ce78b589f7640cc0e93d646bc22f9f38c38848daaf13d28961f37ae96cba", + "initial_rows": "45156c5a71ba42b17851ab8ecd0e06b0dacfa27b1b6bbe52be4f067c1e38f1a1", + "latent": "941d42b77cfdfb7b59f1de458c69a88d535414b78e66e58fe0186ae2e50492fc", + "rows.0": "56107a5d831cc47ddbbc159806a33b2474cc220c53da13b073f6a4a91c06cefb", + "rows.1": "9cf2f13dfa18e69a5411c5077e530e35e6cc350625d71ecf15acc52b4106ac8c", + "rows.2": "3164b758b03f303505b1d679c9bf2ac0160edcebf41210af73865f1d8b2e7597", + "rows.3": "c10ae550dff5d49d31a58c8776d124fe56c8293a17692826fa5c617bb60170a1", + "rows.4": "97951cefe767619e288603eea271a4d0a6d2ce5ed60dd3f5878faad1763936a5", + "rows.5": "10198b8c0ebc63d8c6e14785a7e8ab458faa003b207e6b13b943e4e6c381e690", + "text_tags": "aca0a0c7b72582b17a022940751572c1bcfa722eb6a04a418eff5b1f7f90da75", + "velocity.0": "95a5154d190417b278bfc07af09f55c3383d57a210329f068796d1e5d46c452a", + "velocity.1": "9f3eea3e90dae096cd5831963cbc9f2063c3f7991f2b5512c1a93d68a05d553b", + "velocity.2": "6e1034636da000e61e631167978241a9f917146b0e23f0ebb90f4e230e8a8bb7", + "velocity.3": "ce37371eff6133d39f476f3173305f9622e4f394de3b49751a582571b196f9d2", + "velocity.4": "996e0058cbb53968527f80d58227d8cd8ee61acb009408aea9274b391962500d", + "velocity.5": "8c5b7e57c074846e806e61c3f8ef0e2ddfa36b72838e74cc9e5c12c294160fc5" + } + }, + { + "case": "holdout-detail", + "variant": "control", + "repeat": 0, + "phase": "validation", + "seconds": 65.84704962512478, + "peak_memory_bytes": 43195964408, + "mlx_peak_bytes": 40886446984, + "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", + "output": "outputs/optimization-r3/holdout-detail/control-validation-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 10.619318875018507, + 10.635955666890368, + 10.632296457886696, + 10.644406750099733, + 10.566011917078868, + 10.629142459016293 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "4ee5ce78b589f7640cc0e93d646bc22f9f38c38848daaf13d28961f37ae96cba", + "initial_rows": "45156c5a71ba42b17851ab8ecd0e06b0dacfa27b1b6bbe52be4f067c1e38f1a1", + "latent": "941d42b77cfdfb7b59f1de458c69a88d535414b78e66e58fe0186ae2e50492fc", + "rows.0": "56107a5d831cc47ddbbc159806a33b2474cc220c53da13b073f6a4a91c06cefb", + "rows.1": "9cf2f13dfa18e69a5411c5077e530e35e6cc350625d71ecf15acc52b4106ac8c", + "rows.2": "3164b758b03f303505b1d679c9bf2ac0160edcebf41210af73865f1d8b2e7597", + "rows.3": "c10ae550dff5d49d31a58c8776d124fe56c8293a17692826fa5c617bb60170a1", + "rows.4": "97951cefe767619e288603eea271a4d0a6d2ce5ed60dd3f5878faad1763936a5", + "rows.5": "10198b8c0ebc63d8c6e14785a7e8ab458faa003b207e6b13b943e4e6c381e690", + "text_tags": "aca0a0c7b72582b17a022940751572c1bcfa722eb6a04a418eff5b1f7f90da75", + "velocity.0": "95a5154d190417b278bfc07af09f55c3383d57a210329f068796d1e5d46c452a", + "velocity.1": "9f3eea3e90dae096cd5831963cbc9f2063c3f7991f2b5512c1a93d68a05d553b", + "velocity.2": "6e1034636da000e61e631167978241a9f917146b0e23f0ebb90f4e230e8a8bb7", + "velocity.3": "ce37371eff6133d39f476f3173305f9622e4f394de3b49751a582571b196f9d2", + "velocity.4": "996e0058cbb53968527f80d58227d8cd8ee61acb009408aea9274b391962500d", + "velocity.5": "8c5b7e57c074846e806e61c3f8ef0e2ddfa36b72838e74cc9e5c12c294160fc5" + } + }, + { + "case": "holdout-detail", + "variant": "qk-fc2", + "repeat": 0, + "phase": "validation", + "seconds": 62.68734062509611, + "peak_memory_bytes": 42753088432, + "mlx_peak_bytes": 40964811720, + "output_sha256": "561b18aa708d61a5accbfd12f2280e8f7e303505324c43471ba06d60fe0351d5", + "output": "outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png", + "nonfinite_values": 0, + "step_seconds": [ + 9.848138374974951, + 9.98282212507911, + 10.09999533300288, + 10.163251249818131, + 10.270917958114296, + 10.198511166963726 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "4ee5ce78b589f7640cc0e93d646bc22f9f38c38848daaf13d28961f37ae96cba", + "initial_rows": "45156c5a71ba42b17851ab8ecd0e06b0dacfa27b1b6bbe52be4f067c1e38f1a1", + "latent": "941d42b77cfdfb7b59f1de458c69a88d535414b78e66e58fe0186ae2e50492fc", + "rows.0": "56107a5d831cc47ddbbc159806a33b2474cc220c53da13b073f6a4a91c06cefb", + "rows.1": "9cf2f13dfa18e69a5411c5077e530e35e6cc350625d71ecf15acc52b4106ac8c", + "rows.2": "3164b758b03f303505b1d679c9bf2ac0160edcebf41210af73865f1d8b2e7597", + "rows.3": "c10ae550dff5d49d31a58c8776d124fe56c8293a17692826fa5c617bb60170a1", + "rows.4": "97951cefe767619e288603eea271a4d0a6d2ce5ed60dd3f5878faad1763936a5", + "rows.5": "10198b8c0ebc63d8c6e14785a7e8ab458faa003b207e6b13b943e4e6c381e690", + "text_tags": "aca0a0c7b72582b17a022940751572c1bcfa722eb6a04a418eff5b1f7f90da75", + "velocity.0": "95a5154d190417b278bfc07af09f55c3383d57a210329f068796d1e5d46c452a", + "velocity.1": "9f3eea3e90dae096cd5831963cbc9f2063c3f7991f2b5512c1a93d68a05d553b", + "velocity.2": "6e1034636da000e61e631167978241a9f917146b0e23f0ebb90f4e230e8a8bb7", + "velocity.3": "ce37371eff6133d39f476f3173305f9622e4f394de3b49751a582571b196f9d2", + "velocity.4": "996e0058cbb53968527f80d58227d8cd8ee61acb009408aea9274b391962500d", + "velocity.5": "8c5b7e57c074846e806e61c3f8ef0e2ddfa36b72838e74cc9e5c12c294160fc5" + } + }, + { + "case": "edit", + "variant": "control", + "repeat": -1, + "phase": "warmup", + "seconds": 108.99002920882776, + "peak_memory_bytes": 43859008576, + "mlx_peak_bytes": 41508039384, + "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "output": "outputs/optimization-r3/edit/control-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 16.422514125006273, + 17.473146083997563, + 17.559966416098177, + 17.518435042118654, + 17.190047999843955, + 17.674221999943256 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "d92f696c3b44a78c9a95bbdc69ae8350982d3713f68aaa437eb44360961d22cf", + "initial_rows": "e0a9d01f90eaaaea9f609abcd2d13e41fd5a82d7d3810bc9b8d409e0d165e76f", + "latent": "76f86c5b3ecb8c298dc6fe8514257bde5ca969c61ecc671fa1b086a181c2a9f8", + "rows.0": "08f3a0a4c40eaf74452d8359b13381ea87537b5159b907884023db2e2f0a3e72", + "rows.1": "3be4e12c64857b4b931b37de5b080e64fe58ca9eaae433b8fb97202668a10f0f", + "rows.2": "49c1e76ebf7f6f9d81bbb7be2c5066f28dcb06ad61627fafc07261c8ed4802a1", + "rows.3": "53ecafbd775bcf6b08280ff6433632d073826e764d26db02a2868ac7fcbf58b3", + "rows.4": "6e79e9e9718cd21b095bbceff0e1d9aa513c36a4c4625dd7c407b9b5451f9083", + "rows.5": "5ebc20848f94bece1f527177492e5145a910528a4e07b2f58ee9823177907416", + "text_tags": "70aa69491ae7265751daed14f79d068d51f06b0df904795276312a256126ea31", + "velocity.0": "5d7d30a9ddfe0309d93108af20b7e6e5bbd79f43b1bb9c3cc939fa1e0fa5ac3e", + "velocity.1": "71f6bf1de9d49399ad7ab851bc6a310f3676ef18f9c145a090d71a13ed8a5221", + "velocity.2": "5b2c3d537d98c9d4473a54fdbc9f82986d673a232a822c93d53a5f7093e44372", + "velocity.3": "85f4d5d92dffa14fd3c7a722edbf80af61470ae46b3a0967a94bebe696bd0a7c", + "velocity.4": "5bee153d6bb73f1fbd72ff8a253802ee6760a7faa92dbe89b18ed3bf207da60b", + "velocity.5": "f106e751d398e93a4cf6237d49181c4eafed72c3e20d6ddf08fd45094ad86939" + } + }, + { + "case": "edit", + "variant": "qk-fc2", + "repeat": -1, + "phase": "warmup", + "seconds": 103.10370362503454, + "peak_memory_bytes": 43303574520, + "mlx_peak_bytes": 41370729656, + "output_sha256": "b4b5875fea6451b9c7c24efc7903945a454ae7885ed3016bfc361b4799b2508e", + "output": "outputs/optimization-r3/edit/qk-fc2-warmup--1.png", + "nonfinite_values": 0, + "step_seconds": [ + 16.292056374950334, + 16.648515042150393, + 16.42146575008519, + 16.660248917061836, + 16.44410966616124, + 16.54576624999754 + ], + "trace_identity": true, + "different_trace_tensors": [], + "trace_tensor_sha256": { + "conditioning": "d92f696c3b44a78c9a95bbdc69ae8350982d3713f68aaa437eb44360961d22cf", + "initial_rows": "e0a9d01f90eaaaea9f609abcd2d13e41fd5a82d7d3810bc9b8d409e0d165e76f", + "latent": "76f86c5b3ecb8c298dc6fe8514257bde5ca969c61ecc671fa1b086a181c2a9f8", + "rows.0": "08f3a0a4c40eaf74452d8359b13381ea87537b5159b907884023db2e2f0a3e72", + "rows.1": "3be4e12c64857b4b931b37de5b080e64fe58ca9eaae433b8fb97202668a10f0f", + "rows.2": "49c1e76ebf7f6f9d81bbb7be2c5066f28dcb06ad61627fafc07261c8ed4802a1", + "rows.3": "53ecafbd775bcf6b08280ff6433632d073826e764d26db02a2868ac7fcbf58b3", + "rows.4": "6e79e9e9718cd21b095bbceff0e1d9aa513c36a4c4625dd7c407b9b5451f9083", + "rows.5": "5ebc20848f94bece1f527177492e5145a910528a4e07b2f58ee9823177907416", + "text_tags": "70aa69491ae7265751daed14f79d068d51f06b0df904795276312a256126ea31", + "velocity.0": "5d7d30a9ddfe0309d93108af20b7e6e5bbd79f43b1bb9c3cc939fa1e0fa5ac3e", + "velocity.1": "71f6bf1de9d49399ad7ab851bc6a310f3676ef18f9c145a090d71a13ed8a5221", + "velocity.2": "5b2c3d537d98c9d4473a54fdbc9f82986d673a232a822c93d53a5f7093e44372", + "velocity.3": "85f4d5d92dffa14fd3c7a722edbf80af61470ae46b3a0967a94bebe696bd0a7c", + "velocity.4": "5bee153d6bb73f1fbd72ff8a253802ee6760a7faa92dbe89b18ed3bf207da60b", + "velocity.5": "f106e751d398e93a4cf6237d49181c4eafed72c3e20d6ddf08fd45094ad86939" + } + } +] diff --git a/reports/optimization-r3/wheel-build.log b/reports/optimization-r3/wheel-build.log new file mode 100644 index 0000000000000000000000000000000000000000..1f9742bae1c21d9b2246ab6b7bdfc5c9775d1019 --- /dev/null +++ b/reports/optimization-r3/wheel-build.log @@ -0,0 +1,94 @@ +Building wheel... +running egg_info +writing minimax_h3_image_mlx.egg-info/PKG-INFO +writing dependency_links to minimax_h3_image_mlx.egg-info/dependency_links.txt +writing entry points to minimax_h3_image_mlx.egg-info/entry_points.txt +writing requirements to minimax_h3_image_mlx.egg-info/requires.txt +writing top-level names to minimax_h3_image_mlx.egg-info/top_level.txt +reading manifest file 'minimax_h3_image_mlx.egg-info/SOURCES.txt' +adding license file 'LICENSE' +adding license file 'NOTICE' +writing manifest file 'minimax_h3_image_mlx.egg-info/SOURCES.txt' +running bdist_wheel +running build +running build_py +copying h3_mlx/memory.py -> build/lib/h3_mlx +copying h3_mlx/__init__.py -> build/lib/h3_mlx +copying h3_mlx/encoder.py -> build/lib/h3_mlx +copying h3_mlx/runtime.py -> build/lib/h3_mlx +copying h3_mlx/ops.py -> build/lib/h3_mlx +copying h3_mlx/cli.py -> build/lib/h3_mlx +copying h3_mlx/tuning.py -> build/lib/h3_mlx +copying h3_mlx/weights.py -> build/lib/h3_mlx +copying h3_mlx/dit.py -> build/lib/h3_mlx +running egg_info +writing minimax_h3_image_mlx.egg-info/PKG-INFO +writing dependency_links to minimax_h3_image_mlx.egg-info/dependency_links.txt +writing entry points to minimax_h3_image_mlx.egg-info/entry_points.txt +writing requirements to minimax_h3_image_mlx.egg-info/requires.txt +writing top-level names to minimax_h3_image_mlx.egg-info/top_level.txt +reading manifest file 'minimax_h3_image_mlx.egg-info/SOURCES.txt' +adding license file 'LICENSE' +adding license file 'NOTICE' +writing manifest file 'minimax_h3_image_mlx.egg-info/SOURCES.txt' +installing to build/bdist.macosx-11.0-arm64/wheel +running install +running install_lib +creating build/bdist.macosx-11.0-arm64/wheel +creating build/bdist.macosx-11.0-arm64/wheel/h3_mlx +copying build/lib/h3_mlx/packed.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/config.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/benchmark.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/vision.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/memory.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/layout.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/convert.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/__init__.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/encoder.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/runtime.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/ops.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/cli.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/kernels.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/reference.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/tuning.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/weights.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/dit.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/compare.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/coreml_vae.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/__main__.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +copying build/lib/h3_mlx/vae.py -> build/bdist.macosx-11.0-arm64/wheel/./h3_mlx +running install_egg_info +Copying minimax_h3_image_mlx.egg-info to build/bdist.macosx-11.0-arm64/wheel/./minimax_h3_image_mlx-0.3.0-py3.12.egg-info +running install_scripts +creating build/bdist.macosx-11.0-arm64/wheel/minimax_h3_image_mlx-0.3.0.dist-info/WHEEL +creating '/Users/devin/Desktop/MiniMax-H3-Image-mlx/dist/.tmp-p6up3bru/minimax_h3_image_mlx-0.3.0-py3-none-any.whl' and adding 'build/bdist.macosx-11.0-arm64/wheel' to it +adding 'h3_mlx/__init__.py' +adding 'h3_mlx/__main__.py' +adding 'h3_mlx/benchmark.py' +adding 'h3_mlx/cli.py' +adding 'h3_mlx/compare.py' +adding 'h3_mlx/config.py' +adding 'h3_mlx/convert.py' +adding 'h3_mlx/coreml_vae.py' +adding 'h3_mlx/dit.py' +adding 'h3_mlx/encoder.py' +adding 'h3_mlx/kernels.py' +adding 'h3_mlx/layout.py' +adding 'h3_mlx/memory.py' +adding 'h3_mlx/ops.py' +adding 'h3_mlx/packed.py' +adding 'h3_mlx/reference.py' +adding 'h3_mlx/runtime.py' +adding 'h3_mlx/tuning.py' +adding 'h3_mlx/vae.py' +adding 'h3_mlx/vision.py' +adding 'h3_mlx/weights.py' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/licenses/LICENSE' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/licenses/NOTICE' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/METADATA' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/WHEEL' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/entry_points.txt' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/top_level.txt' +adding 'minimax_h3_image_mlx-0.3.0.dist-info/RECORD' +removing build/bdist.macosx-11.0-arm64/wheel +Successfully built dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl diff --git a/reports/optimization-r3/wheel-cli.json b/reports/optimization-r3/wheel-cli.json new file mode 100644 index 0000000000000000000000000000000000000000..1646777ac0359d3a32e9a5867f7610a13131d7b7 --- /dev/null +++ b/reports/optimization-r3/wheel-cli.json @@ -0,0 +1,186 @@ +{ + "wheel": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl", + "wheel_sha256": "80ea81fb0cc8efd598ca20d1fa1a1133c037d5495464800a980dd9c94ac566b2", + "command": [ + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/.venv/bin/python", + "-c", + "import os, h3_mlx\nif not h3_mlx.__file__.startswith(os.environ['H3_R3_WHEEL_PATH']):\n raise RuntimeError('The checkout shadowed the wheel')\nprint('Loaded runtime from', h3_mlx.__file__, flush=True)\nfrom h3_mlx.cli import main\nmain()\n", + "generate", + "--model", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3-Image", + "--text-encoder", + "/Users/devin/Desktop/minimax-h3-image-opt/models/MiniMax-H3/text_encoder", + "--cache-dir", + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/cache", + "--compile-blocks", + "--eval-every", + "0", + "--prefetch-blocks", + "4", + "--wired-gb", + "42", + "--compile-vae", + "--vae-batch", + "4", + "--kernel", + "metal-qk-exact", + "--tune-matmul", + "--seed", + "731", + "--width", + "2048", + "--height", + "2048", + "--save-trace", + "--output", + "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-wheel/product.png", + "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text." + ], + "outer_seconds": 67.35480091697536, + "cwd": "/tmp", + "loaded_from_wheel": true, + "pixel_identical": true, + "trace_identical": true, + "reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png", + "output": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-wheel/product.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "record": { + "started_utc": "2026-11-12T09:55:13.034874+00:00", + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "metal-qk-exact", + "threads": 256, + "quantized_path": null, + "compile_blocks": true, + "eval_every": 0, + "keep_refiners": false, + "weight_storage": "bf16", + "async_blocks": false, + "cache_refined_text": true, + "prefetch_blocks": 4, + "tune_matmul": true + }, + "encoder": { + "cache_dir": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "tile_batch": 4, + "dtype": "bfloat16", + "compile_blocks": true + }, + "vae_backend": "mlx", + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "wired_gb": 42.0, + "timings": { + "encode_s": 0.09430462517775595, + "dit_setup_s": 0.012480250094085932, + "step_0_s": 15.092059707967564, + "step_1_s": 8.915590958902612, + "step_2_s": 9.443030667025596, + "step_3_s": 9.649657709058374, + "step_4_s": 9.697865832829848, + "step_5_s": 9.593672332819551, + "decode_s": 2.4450902498792857, + "total_s": 65.08694416703656 + }, + "nonfinite_steps": [], + "allow_nonfinite_diagnostic": false, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": false, + "refiner_cache_hit": true, + "dit_metrics": { + "block_load_s": 11.097363171400502, + "block_loads": 50, + "block_wall_s": 62.285294874571264, + "timing_note": "Weight loading can overlap GPU execution. block_wall_s and step timings measure elapsed time; block_load_s is CPU load time and is not additive." + }, + "memory_before_decode": { + "active_gb": 35.969786152243614, + "peak_gb": 37.34910457953811, + "cache_gb": 0.9806220140308142, + "process_physical_gb": 37.33862812817097, + "process_lifetime_peak_physical_gb": 37.87251789867878 + }, + "valid_denoising": true, + "memory": { + "active_gb": 36.74952659010887, + "peak_gb": 37.581412971019745, + "cache_gb": 1.0329973511397839, + "process_physical_gb": 38.205953381955624, + "process_lifetime_peak_physical_gb": 38.26527953147888, + "scope": "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + }, + "output": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-wheel/product.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "finished_utc": "2026-11-12T09:56:18.143983+00:00" + } +} diff --git a/reports/optimization-r3/wheel-cli.log b/reports/optimization-r3/wheel-cli.log new file mode 100644 index 0000000000000000000000000000000000000000..e87deb131d98ae11404a1c4b7488127190efc74c --- /dev/null +++ b/reports/optimization-r3/wheel-cli.log @@ -0,0 +1,34 @@ +Loaded runtime from /Users/devin/Desktop/MiniMax-H3-Image-mlx/dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl/h3_mlx/__init__.py +04:55:13 Conditioning cache hit: 85 effective tokens +04:55:13 Loading cached native AdaLN schedule /Users/devin/Desktop/MiniMax-H3-Image-mlx/cache/adaln-4dda935938d45a975c179220.safetensors +04:55:28 DiT step 1/6: 15.092s, 35.95 GiB active +04:55:37 DiT step 2/6: 8.916s, 35.96 GiB active +04:55:46 DiT step 3/6: 9.443s, 35.96 GiB active +04:55:56 DiT step 4/6: 9.650s, 35.96 GiB active +04:56:06 DiT step 5/6: 9.698s, 35.97 GiB active +04:56:15 DiT step 6/6: 9.594s, 35.97 GiB active +04:56:17 VAE tiles 121/121 +04:56:18 Saved /Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-wheel/product.png in 65.087s +{ + "output": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-wheel/product.png", + "timings": { + "encode_s": 0.09430462517775595, + "dit_setup_s": 0.012480250094085932, + "step_0_s": 15.092059707967564, + "step_1_s": 8.915590958902612, + "step_2_s": 9.443030667025596, + "step_3_s": 9.649657709058374, + "step_4_s": 9.697865832829848, + "step_5_s": 9.593672332819551, + "decode_s": 2.4450902498792857, + "total_s": 65.08694416703656 + }, + "memory": { + "active_gb": 36.74952659010887, + "peak_gb": 37.581412971019745, + "cache_gb": 1.0329973511397839, + "process_physical_gb": 38.205953381955624, + "process_lifetime_peak_physical_gb": 38.26527953147888, + "scope": "active/peak/cache: MLX allocator; process_*: macOS parent process including Metal, lifetime peak includes earlier requests; overlapping counters, do not sum" + } +} diff --git a/reports/optimization-r3/wheel-verification.log b/reports/optimization-r3/wheel-verification.log new file mode 100644 index 0000000000000000000000000000000000000000..57b058df3ab773af2de2a4cae89bfada72f296f2 --- /dev/null +++ b/reports/optimization-r3/wheel-verification.log @@ -0,0 +1,7 @@ +{ + "outer_seconds": 67.35480091697536, + "loaded_from_wheel": true, + "pixel_identical": true, + "trace_identical": true, + "output": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-wheel/product.png" +} diff --git a/reports/optimization-r3/wheel.json b/reports/optimization-r3/wheel.json new file mode 100644 index 0000000000000000000000000000000000000000..a94a4b08b10a10e9668305a56eb567368f6e377f --- /dev/null +++ b/reports/optimization-r3/wheel.json @@ -0,0 +1,30 @@ +{ + "wheel": "dist/minimax_h3_image_mlx-0.3.0-py3-none-any.whl", + "sha256": "80ea81fb0cc8efd598ca20d1fa1a1133c037d5495464800a980dd9c94ac566b2", + "bytes": 55953, + "all_runtime_source_bytes_match": true, + "module_sha256": { + "h3_mlx/__init__.py": "aed249298f9d0dc0df85ea4ac6904302c725b3432e389c01078908bbfae554f2", + "h3_mlx/__main__.py": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279", + "h3_mlx/benchmark.py": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6", + "h3_mlx/cli.py": "087168864ff0df22dc83536650483fc8c09a6ef526a77e2adc61dae86cf9441d", + "h3_mlx/compare.py": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095", + "h3_mlx/config.py": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168", + "h3_mlx/convert.py": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0", + "h3_mlx/coreml_vae.py": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2", + "h3_mlx/dit.py": "6a2d3318f813ef88e366845fb38f86971e6cacfd414a5340f68a5bb20beb9a10", + "h3_mlx/encoder.py": "24d68a2e00e334c10b6d7b1ea9dde50074edecbb30236a2c238c14ffb80e64c2", + "h3_mlx/kernels.py": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d", + "h3_mlx/layout.py": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1", + "h3_mlx/memory.py": "53dc36a7e08391523f9f19f0c27e2059bdc87219282a9bb7f23f92d92cb0049d", + "h3_mlx/ops.py": "111b3ee956ee4090f356d68644edc936ad2fe4bde394a699830fd0e8ae8ba273", + "h3_mlx/packed.py": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde", + "h3_mlx/reference.py": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e", + "h3_mlx/runtime.py": "654a4d07b79e48d015c7f1bcf3084c8b92c875b2f957b5afb81a8900a9162a0d", + "h3_mlx/tuning.py": "d26a892d8b45b0a688eeb85274b6a7706e4ace97baaaab885e978a785b9cf71e", + "h3_mlx/vae.py": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0", + "h3_mlx/vision.py": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea", + "h3_mlx/weights.py": "8f81139011d1a813e6245d3a97681aa17285ace90fe32f5831e327e5781fcdd1" + }, + "full_wheel_cli_generation": "passed: reports/optimization-r3/wheel-cli.json" +} diff --git a/reports/optimization-v2/RESULTS.md b/reports/optimization-v2/RESULTS.md new file mode 100644 index 0000000000000000000000000000000000000000..329a3a813ef09c904c45cafe31b0f7f79f443923 --- /dev/null +++ b/reports/optimization-v2/RESULTS.md @@ -0,0 +1,318 @@ +# Further Mac optimization experiments + +These experiments run the original MiniMax-H3-Image checkpoint on the local +64 GB M5 Pro Mac mini. The preferred path remains MLX with BF16 weights, +FP32 precision islands, dense attention and all six original PDD heads. +The new exact optimizations are block compilation, compiled four-tile VAE +batches, cached refined conditioning, native lazy safetensors loading and +bounded overlap of weight reads with GPU execution. `packed12` adds an exact +weight-storage option when memory matters more than a small decoding overhead. + +The measured optimum is specific to this Mac and these prompts. This is a +practical search across runtimes and operators, not proof of a hardware ceiling. + +The final product samples measured **67.30 s median at 38.03 GiB peak MLX** +for exact optimized BF16 (two warm samples, 65.14–69.45 s), and **72.23 s at +29.90 GiB** for exact packed BF16 (one warm sample). Product and portrait pixels +matched their BF16 references. The packed 4K trial also matched every pixel, +at 31.20 GiB peak and 446.75 s including loading; its background load was not +controlled, so it is evidence of memory/equality rather than a 4K speed win. + +## Run the measured configurations + +The following memory settings were tested on **this 64 GB machine**. The runtime +rejects wired limits above Metal's recommended working set and caps block +residency below that set. `--wired-gb` affects this process; it does not change +the system's wired-memory setting. + +```bash +# Full six-head BF16 generation, with exact optimizations. +h3-mlx generate --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --compile-blocks --eval-every 0 --prefetch-blocks 4 --wired-gb 42 \ + --compile-vae --vae-batch 4 \ + "A detailed image description" --output outputs/optimized.png + +# Same arithmetic, smaller resident weights. The first use builds a ~27 GiB cache. +h3-mlx generate --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --weight-storage packed12 --compile-blocks --eval-every 0 \ + --prefetch-blocks 4 --wired-gb 32 --compile-vae --vae-batch 4 \ + "A detailed image description" --output outputs/compact.png +``` + +Keep one `Pipeline` alive for warm requests. The CLI starts a new process for +each invocation, so it includes loading. The refined-text cache is enabled by +default and is keyed by the exact BF16 conditioning bytes, checkpoint identity, +configuration, quantization/chunk policy, MLX version and TF32 policy. +`--no-refiner-cache` bypasses it. A cache hit avoids loading the two refiner +blocks and their projection, without approximating their output. + +## Full-image measurements + +The generated table comes from the raw ledger and complete PNG outputs. A warm +sample reuses resident DiT weights; it may still compile a new sequence shape. +Peak memory is the **MLX allocator peak**, not total system RAM. The images and +metric definitions are linked below. A single load-inclusive 4K sample is not +reported as a warm benchmark. + + + +| Case | Configuration | Warm samples | Warm median (s) | Peak MLX GiB | SSIM | Exact pixels | +|---|---|---:|---:|---:|---:|---| +| product | BF16 baseline (packing still active) | 1 | 80.67 | 38.29 | 1.000000 | yes | +| product | Exact optimized BF16, final quiet session | 2 | 67.30 | 38.03 | 1.000000 | yes | +| product | Exact optimized packed BF16, final quiet session | 1 | 72.23 | 29.90 | 1.000000 | yes | +| product | BF16 baseline | 2 | 78.21 | 38.31 | 1.000000 | yes | +| product | Compiled BF16, retained refiners | 2 | 65.34 | 39.52 | 1.000000 | yes | +| product | Lossless packed, retained refiners | 1 | 70.62 | 31.38 | 1.000000 | yes | +| product | Compiled BF16 + exact caches + prefetch | 1 | 68.04 | 38.08 | 1.000000 | yes | +| product | Lossless packed + exact caches + prefetch | 1 | 73.86 | 29.90 | 1.000000 | yes | +| product | FP16 projection failure (non-finite) | 0 | invalid | 37.58 | invalid state | non-finite | +| product | Five original passes (skip head 1) | 0 | — | 37.35 | 0.796451 | no | +| portrait | BF16 baseline | 3 | 72.06 | 38.30 | 1.000000 | yes | +| portrait | Compiled BF16, retained refiners | 3 | 67.38 | 39.59 | 1.000000 | yes | +| portrait | Lossless packed, retained refiners | 2 | 73.56 | 31.38 | 1.000000 | yes | +| portrait | Compiled BF16 + exact caches + prefetch | 2 | 69.54 | 38.22 | 1.000000 | yes | +| portrait | Lossless packed + exact caches + prefetch | 2 | 74.44 | 29.90 | 1.000000 | yes | +| portrait | FP16 projection failure (non-finite) | 1 | invalid | 38.33 | invalid state | non-finite | +| portrait | Five original passes (skip head 1) | 1 | 68.43 | 38.09 | 0.694111 | no | +| native-4k | Lossless packed + exact caches + prefetch | 0 | — | 31.20 | 1.000000 | yes | + + + +The original current-arithmetic product baseline was 72.78 s end to end, +including 67.87 s of denoising, at 38.31 GiB peak MLX memory. The retained-refiner +compiled trials subsequently reached 65.00–65.68 s on that prompt, with a +39.52 GiB peak. The later exact-cache/prefetch configuration frees the refiner +weights, so its speed and memory should be assessed from its own table row. + +The baseline rows labeled with active packing are not clean speedup +denominators. Three background Git maintenance jobs were eventually identified; +initially only one had been paused. All three were paused for the final +`quiet-native` warm samples and `quiet-packed` samples, starting at 03:12:36 UTC, +and automatically resumed at 03:24:36 UTC. Other user applications remained +open. Our full-image GPU jobs ran sequentially. The 4K run and earlier trials +had mixed CPU background load; their memory and equality results remain valid, +but no controlled 4K speedup is claimed. The OS file cache was never flushed. + +Hardware: Mac mini, M5 Pro, 15 CPU cores, 16 GPU cores, 64 GB; macOS 27.0.1, +MLX/Metal 0.32.4, Python 3.12.14, PyTorch 2.15.0 and Core ML Tools 9.0. +AC power mode remained Automatic. High Power Mode is supported, but changing it +required unavailable administrator credentials; no High Power measurements are +claimed. `MLX_ENABLE_TF32=0` and `MLX_CONV_WINOGRAD=0` retain the original +precision policy. + +## Look at the actual losses + +- [Product: complete-generation grid](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/product/grid.png) + and [native detail crops](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/product/details-grid.png). +- [Portrait: complete-generation grid](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/portrait/grid.png) + and [native detail crops](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/portrait/details-grid.png). +- [4K comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/native-4k/index.html). +- [All Core ML devices on the same product latent](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/decoder-all-product/comparison/index.html). +- [Decoder alternatives on the same portrait latent](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/decoder-portrait/comparison/index.html). + +Every gallery has side-by-side frames, identical native-resolution crops, +vertical stacks, RGB differences amplified eight times, full-resolution +PSNR/SSIM/MAE and source PNG hashes. The tool verifies prompt, seed, dimensions, +canvas, noise source, schedule and reference inputs. Fewer-head experiments are +explicitly labeled. Pixel similarity is not a general measure of visual quality +or prompt adherence. Decoder-only tests use the *identical saved final latent*. +No comparison imagery is synthesized or retouched. + +Complete-generation equality is measured against the original **MLX BF16 +recipe**, not byte identity with CUDA or the FP32 lossless decoder. The +[same-latent FP32 decoder comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/fp32-reference/comparison/index.html) +isolates that separate precision choice. Cross-backend CUDA comparisons remain +in [the initial report](../RESULTS.md); different decoder quality modes must not be mistaken for +optimization-induced loss. + +On the product latent, native BF16 versus the original FP32 decoder measured +SSIM 0.996629 and MAE 0.559/255. The FP32 compiled decoder took 5.21 s in its +single recorded sample. Use `--vae-dtype float32 --compile-vae --vae-batch 4` +to select that precision; weight packing and decoder precision are independent. + +## Lossless 12-bit storage + +The codec stores each BF16 low byte verbatim and uses a nibble for its sign and +one of eight adjacent high-byte exponent values. Rare values outside that +window use sorted uint32 indices plus their exact uint16 payload. The GPU +reconstructs the original BF16 bits immediately before an ordinary BF16 GEMM. +It performs no quantization, multiplication by a scale, pruning or low-rank fit. + +Block-0 projection storage was 75.3–76.2% of its original size. Seven-repeat +operator medians, including per-call reconstruction, were: + +| Projection, actual 4181-token shape | BF16 ms | Packed ms | Output error | +|---|---:|---:|---| +| QKV, 5376 → 21504 | 39.11 | 41.56 | zero | +| Attention output, 7168 → 5376 | 13.41 | 14.00 | zero | +| MLP input, 5376 → 28672 | 52.17 | 54.94 | zero | +| MLP output, 14336 → 5376 | 32.67 | 34.37 | zero | + +The tests reconstruct all 65,536 BF16 bit patterns, including signed zero, +subnormals, infinities and NaN payloads. Real projection outputs are bit-exact. +Compiled blocks receive compressed arrays as explicit dynamic inputs so the +compiler cannot fold decoding into a permanently retained dense matrix. Cache +shards are written atomically and separated by source-checkpoint fingerprint. +The tradeoff is extra disk space and a small reconstruction cost, not accuracy. + +## Compilation, scheduling and loading + +The actual first DiT block, using saved H3 conditioning and noise, took a +193.87 ms median eagerly and 181.86 ms compiled, with identical BF16 output. +MLP chunks of 512/1024/2048 were slower on this machine. Compilation also +reduced the complete product VAE from about 2.87 s at batch one to about 1.56 s +at batch four. The batch-four image was identical; batch eight introduced small +rounding changes (product SSIM 0.998905, MAE 0.125/255). + +Native lazy `mx.load` was 2.1–2.3× faster than NumPy memmap/copy in three +page-cache-warm tensor-read tests. Full tensor SHA256s matched. `WeightStore` +discards each lazy shard dictionary immediately, so evaluated tensors cannot +bypass its explicit residency budget. The memmap reader remains available for +audits. These read tests do not measure an uncached whole-checkpoint load. + +Prefetching asynchronously dispatches a block while loading the next weights, +synchronizing after a bounded number of blocks. Once all core blocks are +resident, it returns to the requested warm evaluation schedule. It preserves +all operations and dependency ordering. Load time may overlap GPU execution; +the raw records therefore expose block wall time and per-step wall time rather +than adding CPU load time to a supposed GPU compute time. + +## Core ML / ML Package: CPU, GPU, ANE and all + +The repository exports the **complete 24-block VAE tile decoder** as a fixed-batch +ML Package and supports using it behind the MLX denoiser. This is not a complete +33B Core ML denoiser port. Source weights and inputs are rounded to native BF16 +values before conversion; Core ML's internal arithmetic is FP16 and changes +rounding. Package metadata binds the decoder to its original VAE and batch. + +`MLComputePlan` was inspected for actual preferred devices. Selecting `ALL` +alone is not evidence of ANE execution, as described in Apple's +[compute-plan utilities](https://apple.github.io/coremltools/docs-guides/source/mlmodel-utilities.html). +In the eight-tile test: + +| Compute units | Preferred placement | Median tile-batch ms | Same-latent product SSIM | +|---|---|---:|---:| +| CPU_ONLY | CPU | 655.40 | 0.995786 | +| CPU_AND_GPU | GPU | 85.27 | 0.998319 | +| CPU_AND_NE | ANE, with two CPU operations | 459.67 | **0.492298** | +| ALL | GPU | 85.20 | 0.998319 | + +The ANE export produces conspicuous tile/reconstruction artifacts on real +latents despite finite outputs on random test data. Its cause is not established; +this is a failed correctness result, not proof that ANE inevitably loses this +much precision. It is slower as well. Treat this batch-eight ANE export as a +diagnostic, not a quality-preserving generation option. Its recorded model-load +wall time includes a deliberately paused client and is not an isolated compiler +benchmark. Prediction samples were taken after resuming. + +The batch-one ANE export also completed, at 251.73 ms per tile. Its full-image +check reduced the batch-eight artifacts but still changed pixels: SSIM 0.988974, +MAE 1.179/255, max error 43/255, and 30.63 s decoder-only latency. Its +[image grid](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/index.html) +and raw NumPy-bridge audit are preserved. The output was contiguous and MLX +imported its values exactly, so that test did not reveal an output-import error. +A repeated batch-eight cold probe with explicit contiguous I/O did not complete +within 150 s. These are bounded feasibility probes, not comparable compilation +benchmarks. Smaller batches are not an ANE speed win here. + +Core ML GPU decoded the full product in 1.56 s in the first three-repeat trial; +compiled MLX took 1.56 s with closer or identical pixels. A later run after CPU +tests was slower. The MLX decoder is preferred on this Mac. The package remains +available for reproducible device experiments and other hardware. + +```bash +# Isolated conversion environment; no MLX dependency is required by the exporter. +uv venv --python 3.12 .venv-coreml +uv pip install --python .venv-coreml/bin/python coremltools==9.0 torch safetensors numpy +.venv-coreml/bin/python -m experiments.v2_coreml_vae \ + --vae /path/to/MiniMax-H3-Image/vae --batch 8 \ + --package cache/coreml-v2/vae-batch8.mlpackage + +# Optional Core ML GPU decoder in the real MLX generation pipeline. +pip install -e '.[coreml]' +h3-mlx generate --model /path/to/MiniMax-H3-Image \ + --text-encoder /path/to/MiniMax-H3/text_encoder \ + --compile-blocks --eval-every 0 --prefetch-blocks 4 --wired-gb 42 \ + --vae-backend coreml --vae-batch 8 \ + --coreml-package cache/coreml-v2/vae-batch8.mlpackage \ + --coreml-compute-units CPU_AND_GPU \ + "A detailed image description" --output outputs/coreml-decoder.png +``` + +Core ML allocations are excluded from MLX allocator counters, so those counters +must not be used to claim a hybrid pipeline's total memory footprint. The +experimental converter completed successfully with the recorded PyTorch version; +Core ML Tools warns that this PyTorch release is outside its tested range. + +## Other operator and runtime experiments + +- **FP16 projection compute failed:** both prompts produced entirely non-finite + velocity/state tensors at the first head. The saved black images are invalid + diagnostic artifacts, not valid low-quality generations. This was missed by + normalized synthetic GEMM inputs. The runtime now rejects non-finite states; + the research profile explicitly opts into saving failure diagnostics. +- **Five-head sampling:** skip original head 1 and advance head 0 across the + larger interval. The five-head images are compared directly; this is a sampler + approximation, not a precision-preserving speedup. Product/portrait SSIM was + 0.79645/0.69411, too large a change for the minimal-loss recommendation. +- **Affine Q8/Q6/Q4, MXFP8/MXFP4/NVFP4:** all four real block-0 projections were + measured at the actual 4181-token shape. Quantization did not provide a clear + overall compute advantage. Separate dequantize-then-GEMM tests occasionally + improved over fused quantized matmul but did not justify replacing the exact + path. Quantization remains useful for smaller weight storage; earlier full + Q8/Q4 images are included in the grids. +- **FP16 versus BF16, row padding, transposed weights:** padding and transposing + preserved tested outputs, but did not beat the native layout. FP16 changes + rounding and was not consistently faster. +- **Metal 4 TensorOps GEMM:** threadgroup shapes, SIMD counts, K barriers and + locality-preserving walk orders were swept on the actual QKV shape. The best + custom kernel was about 39.65 ms versus 39.12 ms native, with exact output. + It was not selected. MLX already uses M5 GPU neural acceleration here. +- **Custom online-softmax attention:** query/key tile sizes and SIMD counts were + varied. The correct prototype was much slower than native SDPA and introduced + small numeric differences. It remains an isolated operator experiment, with + no full-image quality or speed claim. +- **PyTorch MPS / Inductor and MPSMatrix:** real H3 matrix shapes were benchmarked + across CPU, MPS BF16/FP16/FP32 and raw MPSMatrix. MPS was competitive; CPU was + much slower. The compiled MPS MLP reached 83.18 ms and preserved its eager + output. This is an operator result, not a measured complete H3 MPS pipeline. +- **Memory residency:** default MLX wired memory is zero. An explicit, bounded + per-process limit prevented paging from becoming an uncontrolled variable in + resident-weight trials. Retaining refiners saves some load time for new + conditioning, but the exact refined-text cache is preferable for repeats. + +The custom attention result is compared numerically to native SDPA. It was +rejected before full-image deployment because it was substantially slower; +operator-level error is not presented as an image-quality measurement. + +## Reproduction and remaining opportunities + +All scripts are under `experiments/v2_*.py`; raw operator samples are adjacent +JSON files. The image ledger and full traces are in the ignored local +`outputs/optimization-v2` directory. `v2_report.py` rebuilds the table, PNG grids, +hashes and chart from completed outputs. The normal test suite covers precision +boundaries, exact packed reconstruction, cached conditioning, conversion and +image comparison provenance. + +Remaining opportunities include native mixed-format Metal tensor kernels, +vectorized lossless reconstruction, smaller ANE batches/layout rewrites with +intermediate tensor audits, and overlapping an ANE decoder with the next +request's GPU denoising for throughput. None should be advertised as a speed or +quality win without full-image checks. Further pruning, token merging, low-rank +compression or learned timestep reduction would need calibration or training; +they are not silently applied to the original checkpoint. + +The runtime distinctions and operator design follow Apple's +[Core ML compute-unit documentation](https://apple.github.io/coremltools/docs-guides/source/model-prediction.html), +[compute-plan utilities](https://apple.github.io/coremltools/docs-guides/source/mlmodel-utilities.html), +[typed execution](https://apple.github.io/coremltools/docs-guides/source/typed-execution.html), +[Metal TensorOps guide](https://developer.apple.com/download/files/Metal-Performance-Primitives-Programming-Guide.pdf), +and [M5 GPU tensor operations talk](https://developer.apple.com/videos/play/wwdc2026/330/). +The M5 GPU shader-core neural accelerators are distinct from the ANE selected by +Core ML. The MLX implementation examined was +[v0.32.4](https://github.com/ml-explore/mlx/tree/v0.32.4), including its NAX GEMM +and SDPA routing. All performance and image-quality numbers above come from +local experiments, not vendor performance claims. diff --git a/reports/optimization-v2/approximation-quality.json b/reports/optimization-v2/approximation-quality.json new file mode 100644 index 0000000000000000000000000000000000000000..d5ca9c1bc34882bdcaf188f3a277b5bf3f724f35 --- /dev/null +++ b/reports/optimization-v2/approximation-quality.json @@ -0,0 +1,38 @@ +[ + { + "case": "product", + "profile": "fp16", + "pixel_identical": false, + "mae_8bit": 154.0353469053904, + "max_error_8bit": 255, + "psnr_db": 3.5187477254843316, + "ssim_rgb": 0.029728687074001295 + }, + { + "case": "product", + "profile": "five-pass", + "pixel_identical": false, + "mae_8bit": 22.355140527089436, + "max_error_8bit": 255, + "psnr_db": 16.798797459226876, + "ssim_rgb": 0.7964514877131589 + }, + { + "case": "portrait", + "profile": "fp16", + "pixel_identical": false, + "mae_8bit": 104.15469749768575, + "max_error_8bit": 255, + "psnr_db": 5.980561568481523, + "ssim_rgb": 0.02374704438244847 + }, + { + "case": "portrait", + "profile": "five-pass", + "pixel_identical": false, + "mae_8bit": 25.05439265569051, + "max_error_8bit": 253, + "psnr_db": 17.022613207270645, + "ssim_rgb": 0.6941111421384556 + } +] diff --git a/reports/optimization-v2/attention-debug.json b/reports/optimization-v2/attention-debug.json new file mode 100644 index 0000000000000000000000000000000000000000..569dfe5c66fd817402940871bb8febb85b53b635 --- /dev/null +++ b/reports/optimization-v2/attention-debug.json @@ -0,0 +1,241 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "repeats": 2, + "warmup": 2, + "scope": "Synthetic BF16 Q/K/V; dense online softmax. Different reduction/rounding may affect generated images.", + "trials": [ + { + "tokens": 65, + "bq": 0, + "bk": 0, + "simdgroups": 0, + "median_ms": 0.595208490267396, + "min_ms": 0.5699580069631338, + "max_ms": 0.6204589735716581, + "samples_ms": [ + 0.5699580069631338, + 0.6204589735716581 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "tokens": 65, + "bq": 16, + "bk": 32, + "simdgroups": 2, + "median_ms": 0.8040000684559345, + "min_ms": 0.7807090878486633, + "max_ms": 0.8272910490632057, + "samples_ms": [ + 0.8272910490632057, + 0.7807090878486633 + ], + "max_abs": 2.03515625, + "relative_rmse": 1.1683274507522583, + "equal_fraction": 0.0004206731100566685 + }, + { + "tokens": 65, + "bq": 16, + "bk": 32, + "simdgroups": 4, + "median_ms": 0.789958517998457, + "min_ms": 0.7098750211298466, + "max_ms": 0.8700420148670673, + "samples_ms": [ + 0.8700420148670673, + 0.7098750211298466 + ], + "max_abs": 2.03515625, + "relative_rmse": 1.1683274507522583, + "equal_fraction": 0.0004206731100566685 + }, + { + "tokens": 65, + "bq": 16, + "bk": 64, + "simdgroups": 2, + "median_ms": 1.0451466077938676, + "min_ms": 0.9804591536521912, + "max_ms": 1.109834061935544, + "samples_ms": [ + 1.109834061935544, + 0.9804591536521912 + ], + "max_abs": 2.08203125, + "relative_rmse": 1.208585262298584, + "equal_fraction": 0.00045501376735046506 + }, + { + "tokens": 65, + "bq": 16, + "bk": 64, + "simdgroups": 4, + "median_ms": 1.023833523504436, + "min_ms": 1.0045000817626715, + "max_ms": 1.0431669652462006, + "samples_ms": [ + 1.0045000817626715, + 1.0431669652462006 + ], + "max_abs": 2.08203125, + "relative_rmse": 1.208585262298584, + "equal_fraction": 0.00045501376735046506 + }, + { + "tokens": 65, + "bq": 16, + "bk": 128, + "simdgroups": 2, + "median_ms": 1.1088334722444415, + "min_ms": 1.107207965105772, + "max_ms": 1.110458979383111, + "samples_ms": [ + 1.107207965105772, + 1.110458979383111 + ], + "max_abs": 2.07421875, + "relative_rmse": 1.2112047672271729, + "equal_fraction": 0.00041638052789494395 + }, + { + "tokens": 65, + "bq": 16, + "bk": 128, + "simdgroups": 4, + "median_ms": 1.1818960774689913, + "min_ms": 1.180834136903286, + "max_ms": 1.1829580180346966, + "samples_ms": [ + 1.1829580180346966, + 1.180834136903286 + ], + "max_abs": 2.07421875, + "relative_rmse": 1.2112047672271729, + "equal_fraction": 0.00041638052789494395 + }, + { + "tokens": 65, + "bq": 32, + "bk": 32, + "simdgroups": 2, + "median_ms": 1.3260626001283526, + "min_ms": 1.2702920939773321, + "max_ms": 1.3818331062793732, + "samples_ms": [ + 1.3818331062793732, + 1.2702920939773321 + ], + "max_abs": 2.03515625, + "relative_rmse": 1.1683274507522583, + "equal_fraction": 0.0004206731100566685 + }, + { + "tokens": 65, + "bq": 32, + "bk": 32, + "simdgroups": 4, + "median_ms": 1.1533955112099648, + "min_ms": 1.1415830813348293, + "max_ms": 1.1652079410851002, + "samples_ms": [ + 1.1415830813348293, + 1.1652079410851002 + ], + "max_abs": 2.03515625, + "relative_rmse": 1.1683274507522583, + "equal_fraction": 0.0004206731100566685 + }, + { + "tokens": 65, + "bq": 32, + "bk": 64, + "simdgroups": 2, + "median_ms": 1.3674584915861487, + "min_ms": 1.3492919970303774, + "max_ms": 1.38562498614192, + "samples_ms": [ + 1.3492919970303774, + 1.38562498614192 + ], + "max_abs": 2.08203125, + "relative_rmse": 1.208585262298584, + "equal_fraction": 0.00045501376735046506 + }, + { + "tokens": 65, + "bq": 32, + "bk": 64, + "simdgroups": 4, + "median_ms": 1.1829581344500184, + "min_ms": 1.1795831378549337, + "max_ms": 1.186333131045103, + "samples_ms": [ + 1.186333131045103, + 1.1795831378549337 + ], + "max_abs": 2.08203125, + "relative_rmse": 1.208585262298584, + "equal_fraction": 0.00045501376735046506 + }, + { + "tokens": 65, + "bq": 32, + "bk": 128, + "simdgroups": 2, + "median_ms": 1.5032080700621009, + "min_ms": 1.4863749966025352, + "max_ms": 1.5200411435216665, + "samples_ms": [ + 1.5200411435216665, + 1.4863749966025352 + ], + "max_abs": 2.07421875, + "relative_rmse": 1.2112047672271729, + "equal_fraction": 0.00041638052789494395 + }, + { + "tokens": 65, + "bq": 32, + "bk": 128, + "simdgroups": 4, + "median_ms": 1.6456249868497252, + "min_ms": 1.5924999024719, + "max_ms": 1.6987500712275505, + "samples_ms": [ + 1.5924999024719, + 1.6987500712275505 + ], + "max_abs": 2.07421875, + "relative_rmse": 1.2112047672271729, + "equal_fraction": 0.00041638052789494395 + } + ] +} diff --git a/reports/optimization-v2/attention.json b/reports/optimization-v2/attention.json new file mode 100644 index 0000000000000000000000000000000000000000..33102185d0e3f8fd93736a89d751a1b774cd8fa1 --- /dev/null +++ b/reports/optimization-v2/attention.json @@ -0,0 +1,527 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "repeats": 5, + "warmup": 2, + "scope": "Synthetic BF16 Q/K/V; dense online softmax. Different reduction/rounding may affect generated images.", + "trials": [ + { + "tokens": 65, + "bq": 0, + "bk": 0, + "simdgroups": 0, + "median_ms": 0.659167068079114, + "min_ms": 0.42537483386695385, + "max_ms": 0.7002090569585562, + "samples_ms": [ + 0.659167068079114, + 0.7002090569585562, + 0.6239160429686308, + 0.697124982252717, + 0.42537483386695385 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "tokens": 65, + "bq": 16, + "bk": 32, + "simdgroups": 2, + "median_ms": 0.9386250749230385, + "min_ms": 0.8443330880254507, + "max_ms": 1.0369578376412392, + "samples_ms": [ + 0.8443330880254507, + 1.0369578376412392, + 0.9523339103907347, + 0.9172081481665373, + 0.9386250749230385 + ], + "max_abs": 0.00390625, + "relative_rmse": 0.0021990817040205, + "equal_fraction": 0.6370128393173218 + }, + { + "tokens": 65, + "bq": 16, + "bk": 32, + "simdgroups": 4, + "median_ms": 0.9888748172670603, + "min_ms": 0.9206659160554409, + "max_ms": 1.0241249110549688, + "samples_ms": [ + 1.0212077759206295, + 0.9888748172670603, + 0.9206659160554409, + 0.9763329289853573, + 1.0241249110549688 + ], + "max_abs": 0.00390625, + "relative_rmse": 0.0021990817040205, + "equal_fraction": 0.6370128393173218 + }, + { + "tokens": 65, + "bq": 16, + "bk": 64, + "simdgroups": 2, + "median_ms": 1.0865828953683376, + "min_ms": 1.0042921639978886, + "max_ms": 1.2037497945129871, + "samples_ms": [ + 1.1348749976605177, + 1.0812499094754457, + 1.2037497945129871, + 1.0042921639978886, + 1.0865828953683376 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.0022570982109755278, + "equal_fraction": 0.627047598361969 + }, + { + "tokens": 65, + "bq": 16, + "bk": 64, + "simdgroups": 4, + "median_ms": 1.1444170959293842, + "min_ms": 1.1029590386897326, + "max_ms": 1.2210828717797995, + "samples_ms": [ + 1.193916192278266, + 1.1444170959293842, + 1.1029590386897326, + 1.1432920582592487, + 1.2210828717797995 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.0022570982109755278, + "equal_fraction": 0.627047598361969 + }, + { + "tokens": 65, + "bq": 16, + "bk": 128, + "simdgroups": 2, + "median_ms": 1.110791927203536, + "min_ms": 1.0907920077443123, + "max_ms": 1.275666058063507, + "samples_ms": [ + 1.275666058063507, + 1.0907920077443123, + 1.110791927203536, + 1.105833100154996, + 1.1968340259045362 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.002258604858070612, + "equal_fraction": 0.6266033053398132 + }, + { + "tokens": 65, + "bq": 16, + "bk": 128, + "simdgroups": 4, + "median_ms": 1.157082850113511, + "min_ms": 0.9266659617424011, + "max_ms": 1.2570410035550594, + "samples_ms": [ + 1.157082850113511, + 1.2570410035550594, + 1.0289170313626528, + 0.9266659617424011, + 1.221915939822793 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.002258604858070612, + "equal_fraction": 0.6266033053398132 + }, + { + "tokens": 65, + "bq": 32, + "bk": 32, + "simdgroups": 2, + "median_ms": 1.2491252273321152, + "min_ms": 1.2336669024080038, + "max_ms": 1.284166006371379, + "samples_ms": [ + 1.2491252273321152, + 1.246333122253418, + 1.284166006371379, + 1.2553329579532146, + 1.2336669024080038 + ], + "max_abs": 0.00390625, + "relative_rmse": 0.0021990817040205, + "equal_fraction": 0.6370128393173218 + }, + { + "tokens": 65, + "bq": 32, + "bk": 32, + "simdgroups": 4, + "median_ms": 0.8222081232815981, + "min_ms": 0.7596670184284449, + "max_ms": 1.1705411598086357, + "samples_ms": [ + 1.1705411598086357, + 1.1244169436395168, + 0.8222081232815981, + 0.7790829986333847, + 0.7596670184284449 + ], + "max_abs": 0.00390625, + "relative_rmse": 0.0021990817040205, + "equal_fraction": 0.6370128393173218 + }, + { + "tokens": 65, + "bq": 32, + "bk": 64, + "simdgroups": 2, + "median_ms": 0.9984159842133522, + "min_ms": 0.9292080067098141, + "max_ms": 1.3260000851005316, + "samples_ms": [ + 1.3260000851005316, + 1.0508750565350056, + 0.9984159842133522, + 0.9478749707341194, + 0.9292080067098141 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.0022570982109755278, + "equal_fraction": 0.627047598361969 + }, + { + "tokens": 65, + "bq": 32, + "bk": 64, + "simdgroups": 4, + "median_ms": 1.1746669188141823, + "min_ms": 1.0720000136643648, + "max_ms": 1.1764578521251678, + "samples_ms": [ + 1.0720000136643648, + 1.1764578521251678, + 1.1746669188141823, + 1.176374964416027, + 1.089167082682252 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.0022570982109755278, + "equal_fraction": 0.627047598361969 + }, + { + "tokens": 65, + "bq": 32, + "bk": 128, + "simdgroups": 2, + "median_ms": 1.4922497794032097, + "min_ms": 1.3934581074863672, + "max_ms": 1.5366659499704838, + "samples_ms": [ + 1.5366659499704838, + 1.4588329941034317, + 1.4922497794032097, + 1.5216669999063015, + 1.3934581074863672 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.002258604858070612, + "equal_fraction": 0.6266033053398132 + }, + { + "tokens": 65, + "bq": 32, + "bk": 128, + "simdgroups": 4, + "median_ms": 1.4812089502811432, + "min_ms": 1.4430421870201826, + "max_ms": 1.8411669880151749, + "samples_ms": [ + 1.4435420744121075, + 1.4812089502811432, + 1.8411669880151749, + 1.5069169458001852, + 1.4430421870201826 + ], + "max_abs": 0.0078125, + "relative_rmse": 0.002258604858070612, + "equal_fraction": 0.6266033053398132 + }, + { + "tokens": 4181, + "bq": 0, + "bk": 0, + "simdgroups": 0, + "median_ms": 25.476875016465783, + "min_ms": 24.982792092487216, + "max_ms": 25.54537495598197, + "samples_ms": [ + 25.476875016465783, + 24.982792092487216, + 25.54537495598197, + 25.49154101870954, + 25.047583039849997 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "tokens": 4181, + "bq": 16, + "bk": 32, + "simdgroups": 2, + "median_ms": 66.1243749782443, + "min_ms": 65.3223330155015, + "max_ms": 66.38374994508922, + "samples_ms": [ + 66.38374994508922, + 66.16762490011752, + 65.96424989402294, + 65.3223330155015, + 66.1243749782443 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0024988260120153427, + "equal_fraction": 0.5868481993675232 + }, + { + "tokens": 4181, + "bq": 16, + "bk": 32, + "simdgroups": 4, + "median_ms": 64.00691601447761, + "min_ms": 63.77850007265806, + "max_ms": 64.42370801232755, + "samples_ms": [ + 64.42370801232755, + 63.77937481738627, + 64.00691601447761, + 63.77850007265806, + 64.25516703166068 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0024988260120153427, + "equal_fraction": 0.5868481993675232 + }, + { + "tokens": 4181, + "bq": 16, + "bk": 64, + "simdgroups": 2, + "median_ms": 77.37500010989606, + "min_ms": 76.40204206109047, + "max_ms": 77.76308408938348, + "samples_ms": [ + 76.40204206109047, + 77.57425005547702, + 77.09983410313725, + 77.76308408938348, + 77.37500010989606 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.002500565955415368, + "equal_fraction": 0.5864733457565308 + }, + { + "tokens": 4181, + "bq": 16, + "bk": 64, + "simdgroups": 4, + "median_ms": 75.66545787267387, + "min_ms": 74.57149983383715, + "max_ms": 77.01599993743002, + "samples_ms": [ + 75.66545787267387, + 74.57149983383715, + 75.59287501499057, + 75.99666714668274, + 77.01599993743002 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.002500565955415368, + "equal_fraction": 0.5864733457565308 + }, + { + "tokens": 4181, + "bq": 16, + "bk": 128, + "simdgroups": 2, + "median_ms": 101.380875101313, + "min_ms": 98.50454214029014, + "max_ms": 105.114207835868, + "samples_ms": [ + 98.50454214029014, + 101.380875101313, + 100.96195805817842, + 101.94479208439589, + 105.114207835868 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0025032442063093185, + "equal_fraction": 0.5861243009567261 + }, + { + "tokens": 4181, + "bq": 16, + "bk": 128, + "simdgroups": 4, + "median_ms": 107.6576670166105, + "min_ms": 107.06820781342685, + "max_ms": 108.40670811012387, + "samples_ms": [ + 107.06820781342685, + 107.6576670166105, + 107.09299985319376, + 108.40670811012387, + 108.04883390665054 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0025032442063093185, + "equal_fraction": 0.5861243009567261 + }, + { + "tokens": 4181, + "bq": 32, + "bk": 32, + "simdgroups": 2, + "median_ms": 156.10979194752872, + "min_ms": 154.5753749087453, + "max_ms": 161.5379590075463, + "samples_ms": [ + 161.5379590075463, + 158.93783303909004, + 156.10979194752872, + 155.60425003059208, + 154.5753749087453 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0024988260120153427, + "equal_fraction": 0.5868481993675232 + }, + { + "tokens": 4181, + "bq": 32, + "bk": 32, + "simdgroups": 4, + "median_ms": 150.2824581693858, + "min_ms": 149.2766251321882, + "max_ms": 151.7170409206301, + "samples_ms": [ + 149.8422920703888, + 151.7170409206301, + 150.2824581693858, + 149.2766251321882, + 150.5736659746617 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0024988260120153427, + "equal_fraction": 0.5868481993675232 + }, + { + "tokens": 4181, + "bq": 32, + "bk": 64, + "simdgroups": 2, + "median_ms": 132.72304087877274, + "min_ms": 132.2320420295, + "max_ms": 133.52966704405844, + "samples_ms": [ + 132.2320420295, + 132.53358309157193, + 132.72304087877274, + 133.52966704405844, + 132.75087508372962 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.002500565955415368, + "equal_fraction": 0.5864733457565308 + }, + { + "tokens": 4181, + "bq": 32, + "bk": 64, + "simdgroups": 4, + "median_ms": 134.08570806495845, + "min_ms": 133.57874983921647, + "max_ms": 134.52237495221198, + "samples_ms": [ + 134.1719999909401, + 133.94024991430342, + 133.57874983921647, + 134.52237495221198, + 134.08570806495845 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.002500565955415368, + "equal_fraction": 0.5864733457565308 + }, + { + "tokens": 4181, + "bq": 32, + "bk": 128, + "simdgroups": 2, + "median_ms": 170.27479084208608, + "min_ms": 168.38433407247066, + "max_ms": 172.6567498408258, + "samples_ms": [ + 172.6567498408258, + 170.5612908117473, + 170.27479084208608, + 169.14899996481836, + 168.38433407247066 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0025032442063093185, + "equal_fraction": 0.5861243009567261 + }, + { + "tokens": 4181, + "bq": 32, + "bk": 128, + "simdgroups": 4, + "median_ms": 167.5910830963403, + "min_ms": 167.38187498413026, + "max_ms": 169.39575015567243, + "samples_ms": [ + 168.2442920282483, + 169.39575015567243, + 167.5910830963403, + 167.38187498413026, + 167.47320792637765 + ], + "max_abs": 0.0009765625, + "relative_rmse": 0.0025032442063093185, + "equal_fraction": 0.5861243009567261 + } + ] +} diff --git a/reports/optimization-v2/blocks.json b/reports/optimization-v2/blocks.json new file mode 100644 index 0000000000000000000000000000000000000000..6fe3d4dd81aac37ad32a8d43ae108e7a2a371c0c --- /dev/null +++ b/reports/optimization-v2/blocks.json @@ -0,0 +1,303 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "trace": "outputs/suite/product/native-3.trace.safetensors", + "warmup": 2, + "repeats": 5, + "trials": [ + { + "kernel": "native", + "mlp_chunk": 0, + "compiled": false, + "median_ms": 193.8748329412192, + "min_ms": 192.64374999329448, + "max_ms": 194.29100002162158, + "samples_ms": [ + 193.92333296127617, + 192.87025020457804, + 193.8748329412192, + 192.64374999329448, + 194.29100002162158 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "kernel": "native", + "mlp_chunk": 0, + "compiled": true, + "median_ms": 181.85654189437628, + "min_ms": 180.93729112297297, + "max_ms": 182.45091615244746, + "samples_ms": [ + 182.45091615244746, + 180.93729112297297, + 182.30975000187755, + 181.85654189437628, + 181.81920796632767 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "kernel": "native", + "mlp_chunk": 512, + "compiled": false, + "median_ms": 195.6561249680817, + "min_ms": 194.4968330208212, + "max_ms": 196.10499986447394, + "samples_ms": [ + 194.8412088677287, + 194.4968330208212, + 195.6561249680817, + 195.7060000859201, + 196.10499986447394 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "kernel": "native", + "mlp_chunk": 1024, + "compiled": false, + "median_ms": 197.73316686041653, + "min_ms": 196.47474982775748, + "max_ms": 198.98583297617733, + "samples_ms": [ + 197.73316686041653, + 198.98583297617733, + 196.47474982775748, + 197.53554207272828, + 198.35691712796688 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "kernel": "native", + "mlp_chunk": 2048, + "compiled": false, + "median_ms": 202.3450001142919, + "min_ms": 202.2292499896139, + "max_ms": 203.1515829730779, + "samples_ms": [ + 203.1515829730779, + 202.2292499896139, + 202.24016695283353, + 203.14595801755786, + 202.3450001142919 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "kernel": "metal", + "mlp_chunk": 0, + "compiled": false, + "median_ms": 192.64554092660546, + "min_ms": 191.8113329447806, + "max_ms": 194.33649978600442, + "samples_ms": [ + 191.8113329447806, + 192.83820898272097, + 192.3315841704607, + 192.64554092660546, + 194.33649978600442 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005544817540794611, + "equal_fraction": 0.9263108968734741 + }, + { + "kernel": "metal", + "mlp_chunk": 0, + "compiled": true, + "median_ms": 187.02400010079145, + "min_ms": 185.69258297793567, + "max_ms": 187.45416589081287, + "samples_ms": [ + 185.88608293794096, + 187.10262491367757, + 187.02400010079145, + 185.69258297793567, + 187.45416589081287 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005544817540794611, + "equal_fraction": 0.9263108968734741 + }, + { + "kernel": "metal", + "mlp_chunk": 512, + "compiled": false, + "median_ms": 195.89950004592538, + "min_ms": 194.4362078793347, + "max_ms": 196.45449984818697, + "samples_ms": [ + 196.45449984818697, + 195.89950004592538, + 194.9357909616083, + 194.4362078793347, + 196.3938749395311 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005544817540794611, + "equal_fraction": 0.9263108968734741 + }, + { + "kernel": "metal", + "mlp_chunk": 1024, + "compiled": false, + "median_ms": 198.9099581260234, + "min_ms": 197.25416600704193, + "max_ms": 200.2048750873655, + "samples_ms": [ + 199.56474984064698, + 197.60066689923406, + 197.25416600704193, + 198.9099581260234, + 200.2048750873655 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005544817540794611, + "equal_fraction": 0.9263108968734741 + }, + { + "kernel": "metal", + "mlp_chunk": 2048, + "compiled": false, + "median_ms": 200.62558399513364, + "min_ms": 200.4479579627514, + "max_ms": 201.2160001322627, + "samples_ms": [ + 200.4479579627514, + 200.62558399513364, + 200.69958409294486, + 201.2160001322627, + 200.4515000153333 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005544817540794611, + "equal_fraction": 0.9263108968734741 + }, + { + "kernel": "metal-qk", + "mlp_chunk": 0, + "compiled": false, + "median_ms": 194.3044161889702, + "min_ms": 193.90929210931063, + "max_ms": 195.09749999269843, + "samples_ms": [ + 193.90929210931063, + 194.20049991458654, + 194.3044161889702, + 195.09749999269843, + 194.5509579963982 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005626811762340367, + "equal_fraction": 0.923995852470398 + }, + { + "kernel": "metal-qk", + "mlp_chunk": 0, + "compiled": true, + "median_ms": 188.92991705797613, + "min_ms": 188.0006669089198, + "max_ms": 189.6482079755515, + "samples_ms": [ + 188.92991705797613, + 189.15737490169704, + 189.6482079755515, + 188.82824992761016, + 188.0006669089198 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005626811762340367, + "equal_fraction": 0.923995852470398 + }, + { + "kernel": "metal-qk", + "mlp_chunk": 512, + "compiled": false, + "median_ms": 195.26695902459323, + "min_ms": 194.42466692999005, + "max_ms": 195.99129213020205, + "samples_ms": [ + 194.42466692999005, + 195.82174997776747, + 195.1707499101758, + 195.99129213020205, + 195.26695902459323 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005626811762340367, + "equal_fraction": 0.923995852470398 + }, + { + "kernel": "metal-qk", + "mlp_chunk": 1024, + "compiled": false, + "median_ms": 197.77237507514656, + "min_ms": 195.52216702140868, + "max_ms": 198.78141582012177, + "samples_ms": [ + 197.78429088182747, + 195.52216702140868, + 197.77237507514656, + 198.78141582012177, + 195.63825009390712 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005626811762340367, + "equal_fraction": 0.923995852470398 + }, + { + "kernel": "metal-qk", + "mlp_chunk": 2048, + "compiled": false, + "median_ms": 199.84966609627008, + "min_ms": 197.66554096713662, + "max_ms": 200.01495885662735, + "samples_ms": [ + 198.67933308705688, + 197.66554096713662, + 199.89854213781655, + 199.84966609627008, + 200.01495885662735 + ], + "max_abs": 16.0, + "relative_rmse": 0.0005626811762340367, + "equal_fraction": 0.923995852470398 + } + ] +} diff --git a/reports/optimization-v2/coreml-vae-b1.json b/reports/optimization-v2/coreml-vae-b1.json new file mode 100644 index 0000000000000000000000000000000000000000..48adefe12db9212315ae72a3d797d287e7719fe5 --- /dev/null +++ b/reports/optimization-v2/coreml-vae-b1.json @@ -0,0 +1,24244 @@ +{ + "coremltools": "9.0", + "torch": "2.15.0", + "package": "cache/coreml-v2/vae-batch1.mlpackage", + "batch": 1, + "scope": "Complete 24-layer tile decoder. FP16 internals, source weights rounded to BF16 before conversion. NumPy I/O included; tile assembly and normalization excluded.", + "trials": [ + { + "compute_units": "CPU_AND_NE", + "load_compile_s": 55.645652582868934, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00030698578158945615 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0024647171887676902 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0012323509094050139 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154891168701763 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009389399028830435 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259706698292129 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015893561249813264 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518547669990322 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347440513150165 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011737026909087813 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.25927426468129e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.259274177401291e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006259560317739621 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031298270006466136 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003129815290202413 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001415483820679247 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015664329304583544 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 5.249642376415716e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001651854831137546 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014155023573475002 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018778716084551462 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012519120635479243 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006607419341921033 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02264770140943598 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548031999847 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016518548354802582 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.layer_norm", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031297801588698107 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014154831586553809 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023249301117852684 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002302413855198273 + } + ], + "first_predict_ms": 255.06845791824162, + "samples_ms": [ + 251.72562501393259 + ], + "median_ms": 251.72562501393259, + "finite": true + } + ] +} diff --git a/reports/optimization-v2/coreml-vae.json b/reports/optimization-v2/coreml-vae.json new file mode 100644 index 0000000000000000000000000000000000000000..e81b52fd743c219f759c7c90f2d0071e02f7d7ce --- /dev/null +++ b/reports/optimization-v2/coreml-vae.json @@ -0,0 +1,96962 @@ +{ + "coremltools": "9.0", + "torch": "2.15.0", + "package": "cache/coreml-v2/vae-batch8.mlpackage", + "batch": 8, + "scope": "Complete 24-layer tile decoder. FP16 internals, source weights rounded to BF16 before conversion. NumPy I/O included; tile assembly and normalization excluded.", + "trials": [ + { + "compute_units": "CPU_ONLY", + "load_compile_s": 1.1763121250551194, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.972042861756145e-06 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.983436387932781e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.354573610270546e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.413376897522596e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068073581038365 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.00025733085242736936 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715542693670372 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.355862402624153e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3402838706766246e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.3403039297015835e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.644701585153244e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433302402172921e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 3.216645183378973e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 2.144424104545161e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.28884419728533e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.305597494930977e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.433266295927996e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001715537678914132 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577704441790627e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.577700429985636e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068064662861861 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 4.293037536452982e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.851203481923841e-07 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.581876718982072e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068095876479628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146614240283895 + }, + { + "operator": "ios18.silu", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0003431075357828264 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0005146613036742396 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0305088967719466 + }, + { + "operator": "ios18.mul", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.579742438726449e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0001286653259185599 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.layer_norm", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 8.57768839457066e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0019068063548089795 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.37167205093805e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 6.310039693800683e-05 + } + ], + "first_predict_ms": 687.7039589453489, + "samples_ms": [ + 674.1060831118375, + 655.4020829498768, + 653.5310000181198 + ], + "median_ms": 655.4020829498768, + "finite": true + }, + { + "compute_units": "CPU_AND_GPU", + "load_compile_s": 1.342393415980041, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025383560166302956 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195716362520886 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455128 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175874290793517 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00013141845030822857 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00026081477803649363 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409580788145016 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 9.704772238361436e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 6.469830003196555e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012939647902585728 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012990193402205203 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019409471853878591 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0005175859161034291 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002587934422040098 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879332116593597 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195710190857708 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00012952299407249822 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 4.987354767006983e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025891932180076326 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195731791678835 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527581114245087 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0010351718322068582 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0015527577483102873 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.021113131676624947 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0002588549295455009 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757183 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.layer_norm", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00025879295805171455 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0013195709419399808 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00019223639073219422 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0001903769130639013 + } + ], + "first_predict_ms": 1290.5083750374615, + "samples_ms": [ + 86.67629095725715, + 85.01570811495185, + 85.27170890010893 + ], + "median_ms": 85.27170890010893, + "finite": true + }, + { + "compute_units": "CPU_AND_NE", + "load_compile_s": 497.1104195830412, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 7.264478346827113e-06 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003099262976531901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0024883372452620717 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 0.0012441676527974843 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290549145826348 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0009479380198483473 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319600345870649 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001604583182205415 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940411491855 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00023698565028935494 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00011849260346843201 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.169235211128338e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470377250735e-05 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 8.338470551435314e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006319581872850196 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00031597968477916423 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159795369950006 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290542462107667 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00015814401821827702 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.624975061531747e-06 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941059027095 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0014290565855123055 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0018958750052075494 + }, + { + "operator": "ios18.silu", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0012639163745700392 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0006670776441148251 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.022864862926583254 + }, + { + "operator": "ios18.mul", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676940874838083 + }, + { + "operator": "ios18.add", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00016676941102870628 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.layer_norm", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0003159790936425098 + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001429054162664283 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002347153530218078 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + }, + { + "operator": "ios18.reshape", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002324449818621789 + } + ], + "first_predict_ms": 471.7118330299854, + "samples_ms": [ + 459.66991619206965, + 459.9277079105377, + 458.3824169822037 + ], + "median_ms": 459.66991619206965, + "finite": true, + "load_timing_note": "The recorded MLModel load wall time includes a deliberately paused client while ANECompilerService continued. It is not an isolated compilation-latency measurement. Steady prediction samples were taken after resuming, with the MLX image suite finished." + }, + { + "compute_units": "ALL", + "load_compile_s": 1.780921750003472, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025383560166302983 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195716362520901 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0007763794793455137 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175874290793523 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001314184503082287 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002608147780364939 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409580788145038 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 9.704772238361448e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 6.469830003196562e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00012939647902585744 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001299019340220522 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019409471853878613 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.concat", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.scaled_dot_product_attention", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0005175859161034298 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587934422040101 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587933211659363 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195710190857723 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios16.reduce_mean", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0001295229940724984 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.rsqrt", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 4.987354767006989e-05 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025891932180076353 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001319573179167885 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "split", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0015527581114245105 + }, + { + "operator": "ios18.silu", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0010351718322068595 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.001552757748310289 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.02111313167662497 + }, + { + "operator": "ios18.mul", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00025885492954550116 + }, + { + "operator": "ios18.add", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00038818943707757226 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.layer_norm", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0002587929580517149 + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.0013195709419399823 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.slice_by_index", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019223639073219444 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.transpose", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + }, + { + "operator": "ios18.reshape", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 0.00019037691306390153 + } + ], + "first_predict_ms": 213.58345891349018, + "samples_ms": [ + 85.33862512558699, + 85.19949996843934, + 84.95412510819733 + ], + "median_ms": 85.19949996843934, + "finite": true + } + ] +} diff --git a/reports/optimization-v2/coreml.json b/reports/optimization-v2/coreml.json new file mode 100644 index 0000000000000000000000000000000000000000..4378d9bdddd041f7c6369a7850c32e4cd61cd6fd --- /dev/null +++ b/reports/optimization-v2/coreml.json @@ -0,0 +1,996 @@ +{ + "platform": "macOS-27.0.1-arm64-arm-64bit", + "coremltools": "9.0", + "repeats": 5, + "scope": "Real checkpoint projection weights; synthetic inputs. Synchronous predict includes NumPy I/O. Component tests, not full image latency.", + "trials": [ + { + "case": "dit-fc2", + "precision": "fp16", + "compute_units": "CPU_ONLY", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154153164, + "load_compile_s": 0.1675274579320103, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 239.70012506470084, + "samples_ms": [ + 194.02279192581773, + 193.32108297385275, + 193.83937492966652, + 192.32758390717208, + 193.28666618093848 + ], + "median_ms": 193.32108297385275, + "relative_rmse": 0.008997025899589062, + "max_abs": 1.7035293579101562 + }, + { + "case": "dit-fc2", + "precision": "fp16", + "compute_units": "CPU_AND_GPU", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154153164, + "load_compile_s": 0.13135279202833772, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 274.62662500329316, + "samples_ms": [ + 55.83895789459348, + 50.863665994256735, + 54.42062485963106, + 52.25870804861188, + 54.61216694675386 + ], + "median_ms": 54.42062485963106, + "relative_rmse": 0.00020757669699378312, + "max_abs": 0.0461883544921875 + }, + { + "case": "dit-fc2", + "precision": "fp16", + "compute_units": "CPU_AND_NE", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154153164, + "load_compile_s": 2.5629583750851452, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 285.8013748191297, + "samples_ms": [ + 272.20479189418256, + 272.3927500192076, + 272.29520911350846, + 272.19158411026, + 272.3133750259876 + ], + "median_ms": 272.29520911350846, + "relative_rmse": 0.00020931176550220698, + "max_abs": 0.0461883544921875 + }, + { + "case": "dit-fc2", + "precision": "fp16", + "compute_units": "ALL", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154153164, + "load_compile_s": 0.13452245900407434, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 75.36920811980963, + "samples_ms": [ + 54.255584022030234, + 53.10550006106496, + 53.56983304955065, + 57.02450009994209, + 53.382958052679896 + ], + "median_ms": 53.56983304955065, + "relative_rmse": 0.00020757669699378312, + "max_abs": 0.0461883544921875 + }, + { + "case": "dit-fc2", + "precision": "fp32", + "compute_units": "CPU_ONLY", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308304589, + "load_compile_s": 0.6216194580774754, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 391.0232500638813, + "samples_ms": [ + 366.8390829116106, + 368.16129088401794, + 370.6123339943588, + 371.06195790693164, + 371.9222079962492 + ], + "median_ms": 370.6123339943588, + "relative_rmse": 1.42448004680773e-06, + "max_abs": 0.00049591064453125 + }, + { + "case": "dit-fc2", + "precision": "fp32", + "compute_units": "CPU_AND_GPU", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308304589, + "load_compile_s": 0.25257754093036056, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 259.089709026739, + "samples_ms": [ + 125.88245910592377, + 126.40920793637633, + 125.82262489013374, + 126.03725004009902, + 126.47708388976753 + ], + "median_ms": 126.03725004009902, + "relative_rmse": 1.3215966419011238e-06, + "max_abs": 0.00048065185546875 + }, + { + "case": "dit-fc2", + "precision": "fp32", + "compute_units": "CPU_AND_NE", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308304589, + "load_compile_s": 0.8115240000188351, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 393.7107918318361, + "samples_ms": [ + 366.1310840398073, + 370.0570832006633, + 368.28945809975266, + 367.6325420383364, + 367.7522500511259 + ], + "median_ms": 367.7522500511259, + "relative_rmse": 1.42448004680773e-06, + "max_abs": 0.00049591064453125 + }, + { + "case": "dit-fc2", + "precision": "fp32", + "compute_units": "ALL", + "shape": [ + 4181, + 14336 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308304589, + "load_compile_s": 0.23633408383466303, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.linear", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 155.00358305871487, + "samples_ms": [ + 126.47862522862852, + 126.53029197826982, + 126.49054219946265, + 126.28233293071389, + 125.85870805196464 + ], + "median_ms": 126.47862522862852, + "relative_rmse": 1.3215966419011238e-06, + "max_abs": 0.00048065185546875 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp16", + "compute_units": "CPU_ONLY", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154142986, + "load_compile_s": 0.25310612516477704, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 24.463333189487457, + "samples_ms": [ + 13.804416870698333, + 13.714332832023501, + 15.785250114277005, + 14.088458148762584, + 14.467166969552636 + ], + "median_ms": 14.088458148762584, + "relative_rmse": 0.017367275431752205, + "max_abs": 4.4668121337890625 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp16", + "compute_units": "CPU_AND_GPU", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154142986, + "load_compile_s": 0.15895758289843798, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 229.41312519833446, + "samples_ms": [ + 4.823666997253895, + 4.999083932489157, + 4.665416898205876, + 3.7090000696480274, + 3.94016713835299 + ], + "median_ms": 4.665416898205876, + "relative_rmse": 0.0002074961521429941, + "max_abs": 0.0461883544921875 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp16", + "compute_units": "CPU_AND_NE", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154142986, + "load_compile_s": 2.3588687090668827, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLNeuralEngineComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 18.719791900366545, + "samples_ms": [ + 17.255791928619146, + 17.22654211334884, + 17.179290996864438, + 17.18783308751881, + 17.248707823455334 + ], + "median_ms": 17.22654211334884, + "relative_rmse": 0.0002092272334266454, + "max_abs": 0.0461883544921875 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp16", + "compute_units": "ALL", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 154142986, + "load_compile_s": 0.15283204219304025, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice", + "MLNeuralEngineComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 13.4526661131531, + "samples_ms": [ + 4.598583094775677, + 4.914749879390001, + 4.920917097479105, + 3.971958067268133, + 4.048625007271767 + ], + "median_ms": 4.598583094775677, + "relative_rmse": 0.0002074961521429941, + "max_abs": 0.0461883544921875 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp32", + "compute_units": "CPU_ONLY", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308283658, + "load_compile_s": 0.6159360830206424, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 83.27387506142259, + "samples_ms": [ + 65.84020797163248, + 65.9275830257684, + 66.90237508155406, + 67.3022500704974, + 67.99295800738037 + ], + "median_ms": 66.90237508155406, + "relative_rmse": 0.0, + "max_abs": 0.0 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp32", + "compute_units": "CPU_AND_GPU", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308283658, + "load_compile_s": 0.27439770800992846, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 100.21312511526048, + "samples_ms": [ + 12.018541805446148, + 11.276375036686659, + 11.430124985054135, + 11.256833095103502, + 10.951624950394034 + ], + "median_ms": 11.276375036686659, + "relative_rmse": 0.0, + "max_abs": 0.0 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp32", + "compute_units": "CPU_AND_NE", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308283658, + "load_compile_s": 0.6161469579674304, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLCPUComputeDevice", + "supported": [ + "MLCPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 82.68562494777143, + "samples_ms": [ + 67.91662494651973, + 69.08479100093246, + 66.73616706393659, + 66.93325005471706, + 67.00825016014278 + ], + "median_ms": 67.00825016014278, + "relative_rmse": 0.0, + "max_abs": 0.0 + }, + { + "case": "dit-fc2-conv256", + "precision": "fp32", + "compute_units": "ALL", + "shape": [ + 1, + 14336, + 1, + 256 + ], + "weight_shape": [ + 5376, + 14336 + ], + "package_bytes": 308283658, + "load_compile_s": 0.27939695795066655, + "placement": [ + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "const", + "preferred": null, + "supported": [], + "estimated_cost": null + }, + { + "operator": "ios18.conv", + "preferred": "MLGPUComputeDevice", + "supported": [ + "MLCPUComputeDevice", + "MLGPUComputeDevice" + ], + "estimated_cost": 1.0 + } + ], + "first_predict_ms": 22.786707850173116, + "samples_ms": [ + 11.762959184125066, + 11.550666997209191, + 10.938999941572547, + 11.943457880988717, + 11.289791204035282 + ], + "median_ms": 11.550666997209191, + "relative_rmse": 0.0, + "max_abs": 0.0 + } + ] +} diff --git a/reports/optimization-v2/fp16-failure.json b/reports/optimization-v2/fp16-failure.json new file mode 100644 index 0000000000000000000000000000000000000000..3845129039101e88cf3788b2b1d207141f78196b --- /dev/null +++ b/reports/optimization-v2/fp16-failure.json @@ -0,0 +1,38 @@ +[ + { + "case": "product", + "velocity.0": { + "nonfinite": 393216, + "elements": 393216, + "max_finite_abs": null + }, + "rows.0": { + "nonfinite": 393216, + "elements": 393216, + "max_finite_abs": null + }, + "latent": { + "nonfinite": 393216, + "elements": 393216, + "max_finite_abs": null + } + }, + { + "case": "portrait", + "velocity.0": { + "nonfinite": 393216, + "elements": 393216, + "max_finite_abs": null + }, + "rows.0": { + "nonfinite": 393216, + "elements": 393216, + "max_finite_abs": null + }, + "latent": { + "nonfinite": 393216, + "elements": 393216, + "max_finite_abs": null + } + } +] diff --git a/reports/optimization-v2/loading.json b/reports/optimization-v2/loading.json new file mode 100644 index 0000000000000000000000000000000000000000..b39bb24fed35db96a6ad9de28fff4c24bcfdc384 --- /dev/null +++ b/reports/optimization-v2/loading.json @@ -0,0 +1,97 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "scope": "One original tensor at a time. OS page cache is not flushed; includes read/copy and Metal synchronization.", + "trials": [ + { + "key": "blocks.0.attn.qkv_proj.weight", + "mode": "memmap_copy", + "median_s": 0.030429833102971315, + "samples_s": [ + 0.030429833102971315, + 0.030555875040590763, + 0.02919100015424192 + ], + "uint16_sum": "264f2eda04c0aec042899677941df762a13b19e3ed33fde3bc5c7bfd1d2c512f" + }, + { + "key": "blocks.0.attn.qkv_proj.weight", + "mode": "mlx_lazy_load", + "median_s": 0.01443983311764896, + "samples_s": [ + 0.01443983311764896, + 0.014682834036648273, + 0.014017875073477626 + ], + "uint16_sum": "264f2eda04c0aec042899677941df762a13b19e3ed33fde3bc5c7bfd1d2c512f" + }, + { + "key": "blocks.25.mlp.fc1.weight", + "mode": "memmap_copy", + "median_s": 0.03836399991996586, + "samples_s": [ + 0.10529574984684587, + 0.03836399991996586, + 0.03425524989143014 + ], + "uint16_sum": "64c4e66239e152f4bb821c1cca202e256e79f71374a77e5f65b755742a87e986" + }, + { + "key": "blocks.25.mlp.fc1.weight", + "mode": "mlx_lazy_load", + "median_s": 0.016702207969501615, + "samples_s": [ + 0.018805958796292543, + 0.016702207969501615, + 0.015281000174582005 + ], + "uint16_sum": "64c4e66239e152f4bb821c1cca202e256e79f71374a77e5f65b755742a87e986" + }, + { + "key": "blocks.49.mlp.fc2.weight", + "mode": "memmap_copy", + "median_s": 0.016517666168510914, + "samples_s": [ + 0.06511575006879866, + 0.016517666168510914, + 0.01633200002834201 + ], + "uint16_sum": "d687cefe1b3e6eb65bea9c5ba3d470e38473a1529853b42a5809ba843f94a29f" + }, + { + "key": "blocks.49.mlp.fc2.weight", + "mode": "mlx_lazy_load", + "median_s": 0.007808374939486384, + "samples_s": [ + 0.007419999921694398, + 0.007808374939486384, + 0.008036458166316152 + ], + "uint16_sum": "d687cefe1b3e6eb65bea9c5ba3d470e38473a1529853b42a5809ba843f94a29f" + } + ] +} diff --git a/reports/optimization-v2/manifest.json b/reports/optimization-v2/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..999f715fac45aaf4d003331fac84191dc9b45566 --- /dev/null +++ b/reports/optimization-v2/manifest.json @@ -0,0 +1,64 @@ +{ + "version": "0.2.0", + "operator_runtime_configuration_counts": { + "operators": 50, + "blocks": 15, + "mpp": 29, + "attention": 26, + "storage": 36, + "loading": 6, + "coreml": 16, + "coreml-vae": 4, + "coreml-vae-b1": 1, + "torch": 22 + }, + "full_image_trial_records": 38, + "invalid_fp16_trials": 2, + "tests_passed": 26, + "precision_scope": "Exact optimizations match the native MLX BF16 recipe. FP32 decoder and CUDA references are separate comparisons.", + "maintenance_restored": true, + "maintenance_resume_utc": "2026-11-12T03:24:36.674817+00:00", + "delivery_source_sha256": { + "h3_mlx/__init__.py": "d0997d9e18dfbe918635e49d6390ff892aeb96c02484841f6c5d0ff8cc17f226", + "h3_mlx/__main__.py": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279", + "h3_mlx/benchmark.py": "702f72cf7dedf966a2033e7a3209cea5aca64e3063007f8e6da6c79ac7fc37c6", + "h3_mlx/cli.py": "1e53be2de3e67013c1ac597dfc16bb976196b623d492176ef4b31f71c1772ac0", + "h3_mlx/compare.py": "78a48ea24967c7a6349ed1e50cc1dab690f4c90e65939624d82bb0b146126095", + "h3_mlx/config.py": "8927453a127b4c392d7d3024e2472e50b4fb9070e504f66859ad327a1f85d168", + "h3_mlx/convert.py": "2e087f136a3a6e6f52cb5dbab48c1d7e9073b30353e22e566da32437ad231db0", + "h3_mlx/coreml_vae.py": "d8139a6604d57339c56cf055bf2e5c355d4b71e1c05994bdcb9d49192d1aedf2", + "h3_mlx/dit.py": "d988d48a38e06622a3b55f22103a88b6501d37cec70ffa0bf4e3ce294d412c6a", + "h3_mlx/encoder.py": "386bbde46357c52c5dc32de26127f5b6714e6d14a6ad39802e1004f115ec62ad", + "h3_mlx/kernels.py": "48b5e19366b7282f4dc41690e9d07cd0b8867e5ac2b8af6729095b7f8545f10d", + "h3_mlx/layout.py": "a925693e8fc6abf51c02be91d0af6751a9b116e40dada01602d1b52e052cf2b1", + "h3_mlx/ops.py": "d8f00859df35b8df4e7f881f21bc964d2f9091bdd1f6ebdf8211f2d32878a221", + "h3_mlx/packed.py": "ec2dda08eb1642186e11463c1324b35bd23735ae8bfe0452f7a8e55bee0e9dde", + "h3_mlx/reference.py": "7a08f60e3d21c708f71112a2f012356faff45042e43cc0a0627693421d9d4e3e", + "h3_mlx/runtime.py": "588fdf5918dc5d70438e07de814869c8ca62ed6411282e0acb23626e1b52e759", + "h3_mlx/vae.py": "73d48984dde57bd01a31f1ac51e1e7efb359024da69c5de34a8a0117ddca9cc0", + "h3_mlx/vision.py": "d4141e3e14d3294ea42f096d72e4cb036a3f2805ec5d814718ed4f8eeff4d8ea", + "h3_mlx/weights.py": "62f1348249599c0bc5ae6b2f1231ee521ebe852889800d99e1e17f1d94abcfbb" + }, + "additional_probes": [ + { + "case": "ANE batch1 repeated full decoder harness", + "timeout_s": 180, + "status": "timed out; later one-pass image completed" + }, + { + "case": "ANE batch8 contiguous bridge cold image probe", + "timeout_s": 150, + "status": "timed out; no new image quality claim" + }, + { + "case": "ANE batch1 contiguous bridge one-pass image", + "status": "completed", + "record": "comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json" + }, + { + "case": "GPU batch8 contiguous bridge one-pass image", + "status": "completed", + "record": "comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json" + } + ] +} diff --git a/reports/optimization-v2/mpp.json b/reports/optimization-v2/mpp.json new file mode 100644 index 0000000000000000000000000000000000000000..3487fd5b5bb725ab74117ebc29a5f753dceb7dbe --- /dev/null +++ b/reports/optimization-v2/mpp.json @@ -0,0 +1,729 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "warmup": 2, + "repeats": 5, + "scope": "Original projection weights, synthetic BF16 inputs. Custom Metal 4 TensorOps with FP32 accumulation and BF16 bias epilogue.", + "trials": [ + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 0, + 0, + 0 + ], + "simdgroups": 0, + "walk_m": 0, + "median_ms": 39.11950020119548, + "min_ms": 39.022000040858984, + "max_ms": 39.206292014569044, + "samples_ms": [ + 39.13562512025237, + 39.022000040858984, + 39.206292014569044, + 39.11950020119548, + 39.02737516909838 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 32, + 64, + 128 + ], + "simdgroups": 2, + "walk_m": 0, + "median_ms": 144.08591715618968, + "min_ms": 143.81708297878504, + "max_ms": 144.4397501181811, + "samples_ms": [ + 144.4397501181811, + 143.81708297878504, + 144.08591715618968, + 144.16858297772706, + 143.81849998608232 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 32, + 64, + 128 + ], + "simdgroups": 2, + "walk_m": 8, + "median_ms": 42.84683312289417, + "min_ms": 42.720959056168795, + "max_ms": 42.899500112980604, + "samples_ms": [ + 42.84683312289417, + 42.899500112980604, + 42.720959056168795, + 42.8632500115782, + 42.73395799100399 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 32, + 64, + 256 + ], + "simdgroups": 2, + "walk_m": 0, + "median_ms": 144.37312516383827, + "min_ms": 143.9994580578059, + "max_ms": 144.90454108454287, + "samples_ms": [ + 144.90454108454287, + 143.9994580578059, + 144.37312516383827, + 144.53170797787607, + 144.06895893625915 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 32, + 64, + 256 + ], + "simdgroups": 2, + "walk_m": 8, + "median_ms": 41.73733294010162, + "min_ms": 41.50099982507527, + "max_ms": 41.90316703170538, + "samples_ms": [ + 41.73975018784404, + 41.50099982507527, + 41.73733294010162, + 41.690500220283866, + 41.90316703170538 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 64, + 128 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 76.95283298380673, + "min_ms": 76.59599999897182, + "max_ms": 77.17770803719759, + "samples_ms": [ + 76.95283298380673, + 76.84358395636082, + 77.12462497875094, + 76.59599999897182, + 77.17770803719759 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 64, + 128 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 42.57095814682543, + "min_ms": 42.45987511239946, + "max_ms": 42.72100003436208, + "samples_ms": [ + 42.58745792321861, + 42.45987511239946, + 42.57095814682543, + 42.53150010481477, + 42.72100003436208 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 64, + 256 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 76.77087490446866, + "min_ms": 76.64783322252333, + "max_ms": 77.23387493751943, + "samples_ms": [ + 76.7487499397248, + 77.23387493751943, + 76.77087490446866, + 76.64783322252333, + 77.14020903222263 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 64, + 256 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 41.06487496756017, + "min_ms": 40.93854199163616, + "max_ms": 41.63033398799598, + "samples_ms": [ + 40.93854199163616, + 41.015249909833074, + 41.06487496756017, + 41.276958072558045, + 41.63033398799598 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 75.16441587358713, + "min_ms": 74.81487491168082, + "max_ms": 75.63787512481213, + "samples_ms": [ + 75.63787512481213, + 74.81487491168082, + 75.01008291728795, + 75.16441587358713, + 75.40129194967449 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 40.33562494441867, + "min_ms": 40.23950011469424, + "max_ms": 40.57650011964142, + "samples_ms": [ + 40.57650011964142, + 40.33562494441867, + 40.23950011469424, + 40.33204214647412, + 40.38066603243351 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 74.62074980139732, + "min_ms": 74.47524997405708, + "max_ms": 75.09104209020734, + "samples_ms": [ + 74.62074980139732, + 75.09104209020734, + 74.54266701824963, + 74.79133293963969, + 74.47524997405708 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 39.65325001627207, + "min_ms": 39.51312508434057, + "max_ms": 39.91074999794364, + "samples_ms": [ + 39.51312508434057, + 39.65325001627207, + 39.56470894627273, + 39.91074999794364, + 39.74874992854893 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 64, + 128 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 46.420250087976456, + "min_ms": 46.2697499897331, + "max_ms": 46.63291689939797, + "samples_ms": [ + 46.382749918848276, + 46.63291689939797, + 46.420250087976456, + 46.2697499897331, + 46.44833295606077 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 64, + 128 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 40.789457969367504, + "min_ms": 40.339959086850286, + "max_ms": 41.80283402092755, + "samples_ms": [ + 40.38770799525082, + 40.339959086850286, + 40.789457969367504, + 41.80283402092755, + 41.13591695204377 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 64, + 256 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 45.47000001184642, + "min_ms": 45.36420805379748, + "max_ms": 45.94416683539748, + "samples_ms": [ + 45.36420805379748, + 45.94416683539748, + 45.47000001184642, + 45.78987509012222, + 45.43199995532632 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 64, + 256 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 40.022207889705896, + "min_ms": 39.64875009842217, + "max_ms": 40.58245802298188, + "samples_ms": [ + 39.695374900475144, + 39.64875009842217, + 40.022207889705896, + 40.58245802298188, + 40.487749967724085 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 55.45079102739692, + "min_ms": 55.025249952450395, + "max_ms": 55.971749825403094, + "samples_ms": [ + 55.2547920960933, + 55.45079102739692, + 55.025249952450395, + 55.93649996444583, + 55.971749825403094 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 54.957584012299776, + "min_ms": 54.046041099354625, + "max_ms": 55.90949999168515, + "samples_ms": [ + 54.046041099354625, + 54.527875036001205, + 54.957584012299776, + 55.12870894744992, + 55.90949999168515 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk_m": 0, + "median_ms": 51.92316696047783, + "min_ms": 50.93825003132224, + "max_ms": 52.514916053041816, + "samples_ms": [ + 50.93825003132224, + 51.41841690056026, + 51.92316696047783, + 52.130750147625804, + 52.514916053041816 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 4, + "walk_m": 8, + "median_ms": 50.32787495292723, + "min_ms": 49.495709128677845, + "max_ms": 51.822875160723925, + "samples_ms": [ + 49.495709128677845, + 49.761957954615355, + 50.36799982190132, + 50.32787495292723, + 51.822875160723925 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk_m": 0, + "median_ms": 50.32845796085894, + "min_ms": 50.06470903754234, + "max_ms": 50.51270918920636, + "samples_ms": [ + 50.457790959626436, + 50.06470903754234, + 50.51270918920636, + 50.19462504424155, + 50.32845796085894 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 128 + ], + "simdgroups": 8, + "walk_m": 8, + "median_ms": 43.097833869978786, + "min_ms": 42.822916992008686, + "max_ms": 44.24499999731779, + "samples_ms": [ + 42.822916992008686, + 43.097833869978786, + 43.96050004288554, + 43.00912516191602, + 44.24499999731779 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk_m": 0, + "median_ms": 48.885042080655694, + "min_ms": 48.5747498460114, + "max_ms": 49.46512496098876, + "samples_ms": [ + 48.5747498460114, + 48.93749998882413, + 48.885042080655694, + 49.46512496098876, + 48.775041941553354 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 128, + 128, + 256 + ], + "simdgroups": 8, + "walk_m": 8, + "median_ms": 42.02324990183115, + "min_ms": 40.935083059594035, + "max_ms": 42.17162495478988, + "samples_ms": [ + 40.935083059594035, + 41.284624952822924, + 42.02324990183115, + 42.12037520483136, + 42.17162495478988 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk_m": 0, + "median_ms": 79.10916698165238, + "min_ms": 78.5035421140492, + "max_ms": 79.44233296439052, + "samples_ms": [ + 79.21604183502495, + 79.44233296439052, + 79.10916698165238, + 78.5035421140492, + 78.95054202526808 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 128 + ], + "simdgroups": 8, + "walk_m": 8, + "median_ms": 44.0463749691844, + "min_ms": 42.65099996700883, + "max_ms": 44.993416871875525, + "samples_ms": [ + 42.65099996700883, + 43.315166840329766, + 44.0463749691844, + 44.62029202841222, + 44.993416871875525 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk_m": 0, + "median_ms": 77.51595904119313, + "min_ms": 76.97137491777539, + "max_ms": 77.76708295568824, + "samples_ms": [ + 77.76708295568824, + 77.75079202838242, + 76.97137491777539, + 77.29237503372133, + 77.51595904119313 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "tokens": 4181, + "tile": [ + 64, + 128, + 256 + ], + "simdgroups": 8, + "walk_m": 8, + "median_ms": 42.69133391790092, + "min_ms": 41.10400006175041, + "max_ms": 43.06004196405411, + "samples_ms": [ + 41.10400006175041, + 41.98370920494199, + 42.75595908984542, + 42.69133391790092, + 43.06004196405411 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + } + ] +} diff --git a/reports/optimization-v2/mps.jsonl b/reports/optimization-v2/mps.jsonl new file mode 100644 index 0000000000000000000000000000000000000000..866228cc2c9fa5b7de726f00bed7bda6bc77561a --- /dev/null +++ b/reports/optimization-v2/mps.jsonl @@ -0,0 +1,8 @@ +{"backend":"MPSMatrixMultiplication","dtype":"float16","expected":1.3125,"first_element":1.3125,"gpu_median_ms":38.351041730493307,"gpu_samples_ms":[38.27612497843802,38.339124992489815,38.531041704118252,38.363375002518296,38.490291684865952,38.351041730493307,38.296249927952886],"median_ms":38.592833327129483,"samples_ms":[38.527125027030706,38.587750168517232,38.779750000685453,38.589916657656431,38.758958224207163,38.649291498586535,38.592833327129483],"shape":[4181,5376,21504]} +{"backend":"MPSMatrixMultiplication","dtype":"float32","expected":1.3125,"first_element":1.3125,"gpu_median_ms":173.12408331781626,"gpu_samples_ms":[172.38641669973731,172.65550000593066,173.64770849235356,173.51320828311145,173.12408331781626,173.36274986155331,173.02287509664893],"median_ms":173.38370834477246,"samples_ms":[172.65220824629068,172.93216660618782,173.92654181458056,173.7709166482091,173.38370834477246,173.67887496948242,173.30066673457623],"shape":[4181,5376,21504]} +{"backend":"MPSMatrixMultiplication","dtype":"float16","expected":1.75,"first_element":1.75,"gpu_median_ms":12.991666560992599,"gpu_samples_ms":[12.971708318218589,13.094958383589983,13.05762492120266,13.00549996085465,12.869625119492412,12.887750053778291,12.991666560992599],"median_ms":13.207708485424519,"samples_ms":[13.841666514053941,13.314499985426664,13.2619165815413,13.207708485424519,13.01612495444715,13.037750031799078,13.187249889597297],"shape":[4181,7168,5376]} +{"backend":"MPSMatrixMultiplication","dtype":"float32","expected":1.75,"first_element":1.75,"gpu_median_ms":58.261499973013997,"gpu_samples_ms":[58.59837494790554,58.000124990940094,58.261499973013997,57.841999921947718,58.265416650101542,58.051583124324679,58.370999991893768],"median_ms":58.502458268776536,"samples_ms":[58.83533344604075,58.253416791558266,58.503250125795603,58.080583345144987,58.502458268776536,58.296083472669125,58.633000124245882],"shape":[4181,7168,5376]} +{"backend":"MPSMatrixMultiplication","dtype":"float16","expected":1.3125,"first_element":1.3125,"gpu_median_ms":51.152333384379745,"gpu_samples_ms":[51.165624987334013,51.090833265334368,51.176874898374081,51.085249986499548,51.152333384379745,51.096125040203333,51.167333498597145],"median_ms":51.386583130806684,"samples_ms":[51.396791823208332,51.317416597157717,51.386583130806684,51.33458343334496,51.416041562333703,51.339375087991357,51.441291812807322],"shape":[4181,5376,28672]} +{"backend":"MPSMatrixMultiplication","dtype":"float32","expected":1.3125,"first_element":1.3125,"gpu_median_ms":231.15879157558084,"gpu_samples_ms":[230.76704167760909,231.15879157558084,230.3208748344332,231.18275008164346,231.77099996246397,231.62166657857597,230.94787495210767],"median_ms":231.43691662698984,"samples_ms":[231.03637504391372,231.43691662698984,230.59149994514883,231.44937492907047,232.05929156392813,231.9045418407768,231.19991645216942],"shape":[4181,5376,28672]} +{"backend":"MPSMatrixMultiplication","dtype":"float16","expected":3.5,"first_element":3.5,"gpu_median_ms":29.3633749242872,"gpu_samples_ms":[29.239750001579523,30.186375137418509,28.78566668368876,30.565999913960695,28.317250078544021,29.3633749242872,31.175749842077494],"median_ms":29.606000054627657,"samples_ms":[29.511666623875499,30.448041623458266,29.028833378106356,30.767833348363638,28.563124826177955,29.606000054627657,31.382374931126833],"shape":[4181,14336,5376]} +{"backend":"MPSMatrixMultiplication","dtype":"float32","expected":3.5,"first_element":3.5,"gpu_median_ms":118.18249989300966,"gpu_samples_ms":[117.87620815448463,117.85062518902123,117.55645833909512,118.33758326247334,118.18249989300966,119.00841654278338,118.86712489649653],"median_ms":118.45187493599951,"samples_ms":[118.15941683016717,118.13404154963791,117.8292918484658,118.60295827500522,118.45187493599951,119.29708323441446,119.15054172277451],"shape":[4181,14336,5376]} diff --git a/reports/optimization-v2/operators.json b/reports/optimization-v2/operators.json new file mode 100644 index 0000000000000000000000000000000000000000..0d735cc36cc1d392aee55656cf3c701e29b4c7d1 --- /dev/null +++ b/reports/optimization-v2/operators.json @@ -0,0 +1,1159 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "warmup": 2, + "repeats": 5, + "scope": "Original block-0 weights; synthetic BF16 inputs. Operator latency only, excludes conversion and loading.", + "trials": [ + { + "operator": "attn.qkv_proj", + "variant": "bf16_nt", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 39.01795903220773, + "min_ms": 38.90308388508856, + "max_ms": 39.20233412645757, + "samples_ms": [ + 39.01795903220773, + 39.000708842650056, + 39.20233412645757, + 39.08749995753169, + 38.90308388508856 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "bf16_nn", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 40.58533301576972, + "min_ms": 40.212417021393776, + "max_ms": 40.690625086426735, + "samples_ms": [ + 40.212417021393776, + 40.641458006575704, + 40.690625086426735, + 40.58533301576972, + 40.2926248498261 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "bf16_pad64", + "shape": [ + 4181, + 5376, + 21504 + ], + "padded_tokens": 4224, + "median_ms": 40.12054088525474, + "min_ms": 39.86324998550117, + "max_ms": 40.58220889419317, + "samples_ms": [ + 40.12054088525474, + 40.07162502966821, + 40.58220889419317, + 39.86324998550117, + 40.49258283339441 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "bf16_pad128", + "shape": [ + 4181, + 5376, + 21504 + ], + "padded_tokens": 4224, + "median_ms": 40.043167071416974, + "min_ms": 39.82716705650091, + "max_ms": 40.46391719020903, + "samples_ms": [ + 39.82716705650091, + 40.04783392883837, + 39.89016613923013, + 40.46391719020903, + 40.043167071416974 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "bf16_pad256", + "shape": [ + 4181, + 5376, + 21504 + ], + "padded_tokens": 4352, + "median_ms": 40.20208399742842, + "min_ms": 40.15479190275073, + "max_ms": 40.87774991057813, + "samples_ms": [ + 40.20208399742842, + 40.200083050876856, + 40.15479190275073, + 40.59520806185901, + 40.87774991057813 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "fp16_round_bf16", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 40.44137499295175, + "min_ms": 40.23237503133714, + "max_ms": 40.570707991719246, + "samples_ms": [ + 40.280082961544394, + 40.23237503133714, + 40.44137499295175, + 40.52645806223154, + 40.570707991719246 + ], + "max_abs": 0.25, + "relative_rmse": 0.0014367633266374469, + "equal_fraction": 0.9375272393226624 + }, + { + "operator": "attn.qkv_proj", + "variant": "mxfp88_g32", + "shape": [ + 4181, + 5376, + 21504 + ], + "weight_gib": 0.11103057861328125, + "median_ms": 46.38499999418855, + "min_ms": 45.91437499038875, + "max_ms": 46.56987520866096, + "samples_ms": [ + 46.10741604119539, + 45.91437499038875, + 46.38499999418855, + 46.56987520866096, + 46.53862491250038 + ], + "max_abs": 1.796875, + "relative_rmse": 0.02671019919216633, + "equal_fraction": 0.06673875451087952 + }, + { + "operator": "attn.qkv_proj", + "variant": "mxfp44_g32", + "shape": [ + 4181, + 5376, + 21504 + ], + "weight_gib": 0.05719757080078125, + "median_ms": 42.059540981426835, + "min_ms": 41.91033309325576, + "max_ms": 42.56245819851756, + "samples_ms": [ + 42.16808290220797, + 41.91033309325576, + 42.007958982139826, + 42.059540981426835, + 42.56245819851756 + ], + "max_abs": 9.109375, + "relative_rmse": 0.12055830657482147, + "equal_fraction": 0.014743390493094921 + }, + { + "operator": "attn.qkv_proj", + "variant": "nvfp44_g16", + "shape": [ + 4181, + 5376, + 21504 + ], + "weight_gib": 0.0605621337890625, + "median_ms": 43.3145419228822, + "min_ms": 42.84545802511275, + "max_ms": 43.78341697156429, + "samples_ms": [ + 42.84545802511275, + 43.3145419228822, + 43.2329170871526, + 43.78341697156429, + 43.68899995461106 + ], + "max_abs": 7.0625, + "relative_rmse": 0.09437878429889679, + "equal_fraction": 0.018927190452814102 + }, + { + "operator": "attn.qkv_proj", + "variant": "affine8_g32", + "shape": [ + 4181, + 5376, + 21504 + ], + "weight_gib": 0.121124267578125, + "median_ms": 48.382166773080826, + "min_ms": 47.48316714540124, + "max_ms": 48.58658299781382, + "samples_ms": [ + 47.48316714540124, + 48.273707972839475, + 48.382166773080826, + 48.58658299781382, + 48.445832915604115 + ], + "max_abs": 0.5, + "relative_rmse": 0.007152453996241093, + "equal_fraction": 0.23806069791316986 + }, + { + "operator": "attn.qkv_proj", + "variant": "affine6_g32", + "shape": [ + 4181, + 5376, + 21504 + ], + "weight_gib": 0.094207763671875, + "median_ms": 48.20779198780656, + "min_ms": 47.32833313755691, + "max_ms": 48.97204088047147, + "samples_ms": [ + 47.32833313755691, + 47.76024981401861, + 48.20779198780656, + 48.81024989299476, + 48.97204088047147 + ], + "max_abs": 1.40625, + "relative_rmse": 0.020706482231616974, + "equal_fraction": 0.0854361429810524 + }, + { + "operator": "attn.qkv_proj", + "variant": "affine4_g32", + "shape": [ + 4181, + 5376, + 21504 + ], + "weight_gib": 0.067291259765625, + "median_ms": 46.27333302050829, + "min_ms": 45.270083006471395, + "max_ms": 46.489667147397995, + "samples_ms": [ + 45.270083006471395, + 46.27333302050829, + 46.13558296114206, + 46.434874879196286, + 46.489667147397995 + ], + "max_abs": 5.60546875, + "relative_rmse": 0.08441592752933502, + "equal_fraction": 0.021116377785801888 + }, + { + "operator": "attn.out_proj", + "variant": "bf16_nt", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.733083149418235, + "min_ms": 13.50299990735948, + "max_ms": 13.899000128731132, + "samples_ms": [ + 13.50299990735948, + 13.647624989971519, + 13.899000128731132, + 13.870457885786891, + 13.733083149418235 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "bf16_nn", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.947458937764168, + "min_ms": 13.841500040143728, + "max_ms": 14.289834070950747, + "samples_ms": [ + 13.904999941587448, + 14.170832931995392, + 13.841500040143728, + 13.947458937764168, + 14.289834070950747 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "bf16_pad64", + "shape": [ + 4181, + 7168, + 5376 + ], + "padded_tokens": 4224, + "median_ms": 14.317499939352274, + "min_ms": 14.01154207997024, + "max_ms": 14.362999936565757, + "samples_ms": [ + 14.317499939352274, + 14.01154207997024, + 14.362999936565757, + 14.22337512485683, + 14.34200000949204 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "bf16_pad128", + "shape": [ + 4181, + 7168, + 5376 + ], + "padded_tokens": 4224, + "median_ms": 14.29895800538361, + "min_ms": 14.083375222980976, + "max_ms": 14.456833014264703, + "samples_ms": [ + 14.083375222980976, + 14.456833014264703, + 14.22062492929399, + 14.29895800538361, + 14.390083961188793 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "bf16_pad256", + "shape": [ + 4181, + 7168, + 5376 + ], + "padded_tokens": 4352, + "median_ms": 14.49437509290874, + "min_ms": 14.469749992713332, + "max_ms": 14.765792060643435, + "samples_ms": [ + 14.469749992713332, + 14.49437509290874, + 14.531959081068635, + 14.490332920104265, + 14.765792060643435 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "fp16_round_bf16", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 14.573207823559642, + "min_ms": 14.342708047479391, + "max_ms": 14.808290870860219, + "samples_ms": [ + 14.342708047479391, + 14.638457912951708, + 14.573207823559642, + 14.566500205546618, + 14.808290870860219 + ], + "max_abs": 0.25, + "relative_rmse": 0.0014379547210410237, + "equal_fraction": 0.93744957447052 + }, + { + "operator": "attn.out_proj", + "variant": "mxfp88_g32", + "shape": [ + 4181, + 7168, + 5376 + ], + "weight_gib": 0.03701019287109375, + "median_ms": 16.644750023260713, + "min_ms": 16.09429088421166, + "max_ms": 16.698166029527783, + "samples_ms": [ + 16.09429088421166, + 16.173999989405274, + 16.698166029527783, + 16.687000170350075, + 16.644750023260713 + ], + "max_abs": 1.53125, + "relative_rmse": 0.026705145835876465, + "equal_fraction": 0.06687343865633011 + }, + { + "operator": "attn.out_proj", + "variant": "mxfp44_g32", + "shape": [ + 4181, + 7168, + 5376 + ], + "weight_gib": 0.01906585693359375, + "median_ms": 15.215334016829729, + "min_ms": 15.133667038753629, + "max_ms": 15.53854113444686, + "samples_ms": [ + 15.215334016829729, + 15.133667038753629, + 15.319749945774674, + 15.53854113444686, + 15.184166841208935 + ], + "max_abs": 6.890625, + "relative_rmse": 0.11676037311553955, + "equal_fraction": 0.01528572104871273 + }, + { + "operator": "attn.out_proj", + "variant": "nvfp44_g16", + "shape": [ + 4181, + 7168, + 5376 + ], + "weight_gib": 0.0201873779296875, + "median_ms": 15.884707914665341, + "min_ms": 15.523541951552033, + "max_ms": 15.917500015348196, + "samples_ms": [ + 15.906207961961627, + 15.523541951552033, + 15.884707914665341, + 15.917500015348196, + 15.744959004223347 + ], + "max_abs": 6.16796875, + "relative_rmse": 0.09526105225086212, + "equal_fraction": 0.018807044252753258 + }, + { + "operator": "attn.out_proj", + "variant": "affine8_g32", + "shape": [ + 4181, + 7168, + 5376 + ], + "weight_gib": 0.040374755859375, + "median_ms": 16.813124995678663, + "min_ms": 16.703708097338676, + "max_ms": 16.886916011571884, + "samples_ms": [ + 16.7407498229295, + 16.813124995678663, + 16.703708097338676, + 16.844790894538164, + 16.886916011571884 + ], + "max_abs": 0.5, + "relative_rmse": 0.006857909727841616, + "equal_fraction": 0.24853673577308655 + }, + { + "operator": "attn.out_proj", + "variant": "affine6_g32", + "shape": [ + 4181, + 7168, + 5376 + ], + "weight_gib": 0.031402587890625, + "median_ms": 17.113542184233665, + "min_ms": 16.857665963470936, + "max_ms": 17.204958014190197, + "samples_ms": [ + 17.113542184233665, + 17.105791019275784, + 17.204958014190197, + 16.857665963470936, + 17.14545814320445 + ], + "max_abs": 1.25, + "relative_rmse": 0.019887777045369148, + "equal_fraction": 0.08924407511949539 + }, + { + "operator": "attn.out_proj", + "variant": "affine4_g32", + "shape": [ + 4181, + 7168, + 5376 + ], + "weight_gib": 0.022430419921875, + "median_ms": 15.973791014403105, + "min_ms": 15.816291095688939, + "max_ms": 16.10216684639454, + "samples_ms": [ + 16.008083010092378, + 15.816291095688939, + 15.922083985060453, + 15.973791014403105, + 16.10216684639454 + ], + "max_abs": 5.78125, + "relative_rmse": 0.08107094466686249, + "equal_fraction": 0.022073309868574142 + }, + { + "operator": "mlp.fc1", + "variant": "bf16_nt", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 56.88041704706848, + "min_ms": 56.056959088891745, + "max_ms": 57.06249992363155, + "samples_ms": [ + 56.056959088891745, + 56.88041704706848, + 56.92950007505715, + 56.434999918565154, + 57.06249992363155 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "bf16_nn", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 57.2883749846369, + "min_ms": 57.20029189251363, + "max_ms": 57.50133306719363, + "samples_ms": [ + 57.20029189251363, + 57.2883749846369, + 57.50133306719363, + 57.251624995842576, + 57.43858404457569 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "bf16_pad64", + "shape": [ + 4181, + 5376, + 28672 + ], + "padded_tokens": 4224, + "median_ms": 57.62783298268914, + "min_ms": 56.953833904117346, + "max_ms": 58.22679097764194, + "samples_ms": [ + 56.953833904117346, + 57.62783298268914, + 57.27287498302758, + 58.22679097764194, + 58.03979095071554 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "bf16_pad128", + "shape": [ + 4181, + 5376, + 28672 + ], + "padded_tokens": 4224, + "median_ms": 58.27929195947945, + "min_ms": 57.83387483097613, + "max_ms": 58.72062500566244, + "samples_ms": [ + 57.83387483097613, + 58.05337498895824, + 58.49958397448063, + 58.27929195947945, + 58.72062500566244 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "bf16_pad256", + "shape": [ + 4181, + 5376, + 28672 + ], + "padded_tokens": 4352, + "median_ms": 59.44949993863702, + "min_ms": 58.33770893514156, + "max_ms": 60.163999907672405, + "samples_ms": [ + 58.33770893514156, + 58.92641679383814, + 59.69562497921288, + 59.44949993863702, + 60.163999907672405 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "fp16_round_bf16", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 60.3128750808537, + "min_ms": 59.13254199549556, + "max_ms": 60.70520798675716, + "samples_ms": [ + 59.13254199549556, + 59.86141599714756, + 60.36758283153176, + 60.3128750808537, + 60.70520798675716 + ], + "max_abs": 0.5, + "relative_rmse": 0.0014354648301377892, + "equal_fraction": 0.937492311000824 + }, + { + "operator": "mlp.fc1", + "variant": "mxfp88_g32", + "shape": [ + 4181, + 5376, + 28672 + ], + "weight_gib": 0.148040771484375, + "median_ms": 68.84741690009832, + "min_ms": 68.01695888862014, + "max_ms": 69.89704188890755, + "samples_ms": [ + 68.01695888862014, + 68.76904191449285, + 68.84741690009832, + 69.89704188890755, + 69.67624998651445 + ], + "max_abs": 2.1875, + "relative_rmse": 0.026700254529714584, + "equal_fraction": 0.06675215065479279 + }, + { + "operator": "mlp.fc1", + "variant": "mxfp44_g32", + "shape": [ + 4181, + 5376, + 28672 + ], + "weight_gib": 0.076263427734375, + "median_ms": 62.32962501235306, + "min_ms": 61.62541685625911, + "max_ms": 63.24025010690093, + "samples_ms": [ + 61.62541685625911, + 62.32962501235306, + 62.328125117346644, + 63.24025010690093, + 63.214374938979745 + ], + "max_abs": 10.34375, + "relative_rmse": 0.11928655952215195, + "equal_fraction": 0.014761211350560188 + }, + { + "operator": "mlp.fc1", + "variant": "nvfp44_g16", + "shape": [ + 4181, + 5376, + 28672 + ], + "weight_gib": 0.08074951171875, + "median_ms": 64.51166700571775, + "min_ms": 63.704333966597915, + "max_ms": 65.21387491375208, + "samples_ms": [ + 63.704333966597915, + 64.38133399933577, + 64.51166700571775, + 64.73379209637642, + 65.21387491375208 + ], + "max_abs": 8.03125, + "relative_rmse": 0.0948139876127243, + "equal_fraction": 0.01893121376633644 + }, + { + "operator": "mlp.fc1", + "variant": "affine8_g32", + "shape": [ + 4181, + 5376, + 28672 + ], + "weight_gib": 0.1614990234375, + "median_ms": 69.97695891186595, + "min_ms": 69.09304205328226, + "max_ms": 70.55416703224182, + "samples_ms": [ + 69.09304205328226, + 69.7993750218302, + 69.97695891186595, + 70.26958395726979, + 70.55416703224182 + ], + "max_abs": 0.6875, + "relative_rmse": 0.00697753531858325, + "equal_fraction": 0.24016006290912628 + }, + { + "operator": "mlp.fc1", + "variant": "affine6_g32", + "shape": [ + 4181, + 5376, + 28672 + ], + "weight_gib": 0.1256103515625, + "median_ms": 71.28174998797476, + "min_ms": 69.93604195304215, + "max_ms": 71.53204106725752, + "samples_ms": [ + 69.93604195304215, + 71.13158400170505, + 71.44416682422161, + 71.53204106725752, + 71.28174998797476 + ], + "max_abs": 1.625, + "relative_rmse": 0.020274344831705093, + "equal_fraction": 0.08617563545703888 + }, + { + "operator": "mlp.fc1", + "variant": "affine4_g32", + "shape": [ + 4181, + 5376, + 28672 + ], + "weight_gib": 0.0897216796875, + "median_ms": 66.9265000615269, + "min_ms": 65.172916976735, + "max_ms": 67.17233289964497, + "samples_ms": [ + 65.172916976735, + 66.3087498396635, + 66.94695795886219, + 67.17233289964497, + 66.9265000615269 + ], + "max_abs": 7.21875, + "relative_rmse": 0.08270496875047684, + "equal_fraction": 0.021269498392939568 + }, + { + "operator": "mlp.fc2", + "variant": "bf16_nt", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 34.53045804053545, + "min_ms": 33.855958143249154, + "max_ms": 35.29229178093374, + "samples_ms": [ + 33.855958143249154, + 35.29229178093374, + 34.14345812052488, + 34.53045804053545, + 34.985417034476995 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "bf16_nn", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 34.404292004182935, + "min_ms": 33.76633278094232, + "max_ms": 35.07920913398266, + "samples_ms": [ + 33.76633278094232, + 34.01512489654124, + 34.55324983224273, + 34.404292004182935, + 35.07920913398266 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "bf16_pad64", + "shape": [ + 4181, + 14336, + 5376 + ], + "padded_tokens": 4224, + "median_ms": 35.306917037814856, + "min_ms": 35.11383384466171, + "max_ms": 36.45095904357731, + "samples_ms": [ + 35.11383384466171, + 36.45095904357731, + 35.306917037814856, + 35.516874864697456, + 35.22562491707504 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "bf16_pad128", + "shape": [ + 4181, + 14336, + 5376 + ], + "padded_tokens": 4224, + "median_ms": 35.68662493489683, + "min_ms": 34.68191693536937, + "max_ms": 36.35245794430375, + "samples_ms": [ + 34.68191693536937, + 35.05495795980096, + 35.8519998844713, + 35.68662493489683, + 36.35245794430375 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "bf16_pad256", + "shape": [ + 4181, + 14336, + 5376 + ], + "padded_tokens": 4352, + "median_ms": 35.76362505555153, + "min_ms": 35.15912499278784, + "max_ms": 36.0618750564754, + "samples_ms": [ + 35.15912499278784, + 35.957250045612454, + 36.0618750564754, + 35.314542008563876, + 35.76362505555153 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "fp16_round_bf16", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 34.2127091716975, + "min_ms": 34.06991716474295, + "max_ms": 35.027166828513145, + "samples_ms": [ + 34.06991716474295, + 34.142165910452604, + 34.2127091716975, + 34.318125108256936, + 35.027166828513145 + ], + "max_abs": 0.5, + "relative_rmse": 0.0014385132817551494, + "equal_fraction": 0.9375085830688477 + }, + { + "operator": "mlp.fc2", + "variant": "mxfp88_g32", + "shape": [ + 4181, + 14336, + 5376 + ], + "weight_gib": 0.0740203857421875, + "median_ms": 38.617667043581605, + "min_ms": 37.2016669716686, + "max_ms": 38.94404089078307, + "samples_ms": [ + 37.2016669716686, + 38.0708749871701, + 38.617667043581605, + 38.94404089078307, + 38.72366691939533 + ], + "max_abs": 3.5, + "relative_rmse": 0.02668989636003971, + "equal_fraction": 0.06687913089990616 + }, + { + "operator": "mlp.fc2", + "variant": "mxfp44_g32", + "shape": [ + 4181, + 14336, + 5376 + ], + "weight_gib": 0.0381317138671875, + "median_ms": 34.176249988377094, + "min_ms": 34.03883310966194, + "max_ms": 34.531333949416876, + "samples_ms": [ + 34.16574979200959, + 34.176249988377094, + 34.03883310966194, + 34.2446668073535, + 34.531333949416876 + ], + "max_abs": 17.015625, + "relative_rmse": 0.12333980202674866, + "equal_fraction": 0.014510574750602245 + }, + { + "operator": "mlp.fc2", + "variant": "nvfp44_g16", + "shape": [ + 4181, + 14336, + 5376 + ], + "weight_gib": 0.040374755859375, + "median_ms": 34.81729212217033, + "min_ms": 34.36283301562071, + "max_ms": 34.83804198913276, + "samples_ms": [ + 34.65237491764128, + 34.83804198913276, + 34.82170891948044, + 34.36283301562071, + 34.81729212217033 + ], + "max_abs": 11.5, + "relative_rmse": 0.0943082720041275, + "equal_fraction": 0.019040215760469437 + }, + { + "operator": "mlp.fc2", + "variant": "affine8_g32", + "shape": [ + 4181, + 14336, + 5376 + ], + "weight_gib": 0.08074951171875, + "median_ms": 40.01833382062614, + "min_ms": 39.36866600997746, + "max_ms": 40.50199990160763, + "samples_ms": [ + 40.23308400064707, + 40.01833382062614, + 40.50199990160763, + 39.36866600997746, + 39.642584044486284 + ], + "max_abs": 1.125, + "relative_rmse": 0.007229790091514587, + "equal_fraction": 0.23662720620632172 + }, + { + "operator": "mlp.fc2", + "variant": "affine6_g32", + "shape": [ + 4181, + 14336, + 5376 + ], + "weight_gib": 0.06280517578125, + "median_ms": 38.771667052060366, + "min_ms": 38.38183404877782, + "max_ms": 39.438792038708925, + "samples_ms": [ + 38.38183404877782, + 38.771667052060366, + 39.07174989581108, + 38.75845903530717, + 39.438792038708925 + ], + "max_abs": 3.5, + "relative_rmse": 0.021220030263066292, + "equal_fraction": 0.08387544006109238 + }, + { + "operator": "mlp.fc2", + "variant": "affine4_g32", + "shape": [ + 4181, + 14336, + 5376 + ], + "weight_gib": 0.04486083984375, + "median_ms": 36.1207090318203, + "min_ms": 35.76437500305474, + "max_ms": 36.558917025104165, + "samples_ms": [ + 35.76437500305474, + 36.558917025104165, + 36.03099985048175, + 36.1207090318203, + 36.28229186870158 + ], + "max_abs": 13.5, + "relative_rmse": 0.0866343304514885, + "equal_fraction": 0.020664894953370094 + }, + { + "operator": "mlp", + "variant": "eager", + "median_ms": 106.36541689746082, + "min_ms": 105.06766708567739, + "max_ms": 106.84604104608297, + "samples_ms": [ + 105.30966590158641, + 105.06766708567739, + 106.36541689746082, + 106.41158395446837, + 106.84604104608297 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp", + "variant": "compiled", + "median_ms": 99.15808285586536, + "min_ms": 96.69841709546745, + "max_ms": 99.61933316662908, + "samples_ms": [ + 96.69841709546745, + 97.61712490580976, + 99.33945816010237, + 99.15808285586536, + 99.61933316662908 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + } + ] +} diff --git a/reports/optimization-v2/storage.json b/reports/optimization-v2/storage.json new file mode 100644 index 0000000000000000000000000000000000000000..2f692d39f8eefc628698f02ead388f089325c0cc --- /dev/null +++ b/reports/optimization-v2/storage.json @@ -0,0 +1,917 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "warmup": 2, + "repeats": 7, + "scope": "Original block-0 weights; synthetic BF16 activations. Includes per-call GPU weight reconstruction, excludes initial packing.", + "trials": [ + { + "operator": "attn.qkv_proj", + "variant": "bf16", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 39.11329107359052, + "min_ms": 38.95195806398988, + "max_ms": 39.387915981933475, + "samples_ms": [ + 39.11329107359052, + 39.00787513703108, + 39.387915981933475, + 39.19341694563627, + 39.008582942187786, + 39.19645817950368, + 38.95195806398988 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "packed12", + "shape": [ + 4181, + 5376, + 21504 + ], + "pack_s": 0.2350818330887705, + "weight_bytes": 176202178, + "ratio": 0.7620838623738884, + "weight_bits_identical": true, + "escape_fraction": 0.004027948357891334, + "median_ms": 41.564124869182706, + "min_ms": 41.3626660592854, + "max_ms": 41.81537497788668, + "samples_ms": [ + 41.81537497788668, + 41.564124869182706, + 41.52962495572865, + 41.72691679559648, + 41.444499976933, + 41.617542039602995, + 41.3626660592854 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "packed12_compiled", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 41.82958393357694, + "min_ms": 41.48062504827976, + "max_ms": 41.99729207903147, + "samples_ms": [ + 41.67441697791219, + 41.8610000051558, + 41.99729207903147, + 41.48062504827976, + 41.56637494452298, + 41.889374842867255, + 41.82958393357694 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.qkv_proj", + "variant": "q8_fused", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 45.41745805181563, + "min_ms": 45.24320783093572, + "max_ms": 45.74962495826185, + "samples_ms": [ + 45.27574987150729, + 45.68949993699789, + 45.24320783093572, + 45.253500109538436, + 45.41745805181563, + 45.58362509123981, + 45.74962495826185 + ], + "max_abs": 0.5, + "relative_rmse": 0.007152453996241093, + "equal_fraction": 0.23806069791316986 + }, + { + "operator": "attn.qkv_proj", + "variant": "q8_dequant_gemm", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 40.749500039964914, + "min_ms": 40.459583047777414, + "max_ms": 40.915916906669736, + "samples_ms": [ + 40.459583047777414, + 40.79162492416799, + 40.66333407536149, + 40.915916906669736, + 40.749500039964914, + 40.86683294735849, + 40.717124938964844 + ], + "max_abs": 0.5, + "relative_rmse": 0.007152453996241093, + "equal_fraction": 0.23806069791316986 + }, + { + "operator": "attn.qkv_proj", + "variant": "q6_fused", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 46.02895793505013, + "min_ms": 45.826958026736975, + "max_ms": 46.16720788180828, + "samples_ms": [ + 45.86966591887176, + 46.16720788180828, + 46.087624970823526, + 45.917625073343515, + 45.826958026736975, + 46.09595891088247, + 46.02895793505013 + ], + "max_abs": 1.40625, + "relative_rmse": 0.020706482231616974, + "equal_fraction": 0.0854361429810524 + }, + { + "operator": "attn.qkv_proj", + "variant": "q6_dequant_gemm", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 40.31316703185439, + "min_ms": 40.03754095174372, + "max_ms": 40.45050009153783, + "samples_ms": [ + 40.25179194286466, + 40.24758283048868, + 40.03754095174372, + 40.38529214449227, + 40.31316703185439, + 40.44608282856643, + 40.45050009153783 + ], + "max_abs": 1.40625, + "relative_rmse": 0.020706482231616974, + "equal_fraction": 0.0854361429810524 + }, + { + "operator": "attn.qkv_proj", + "variant": "q4_fused", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 42.86429099738598, + "min_ms": 42.5539577845484, + "max_ms": 42.981999926269054, + "samples_ms": [ + 42.86429099738598, + 42.5539577845484, + 42.57708298973739, + 42.72995796054602, + 42.90879191830754, + 42.91945789009333, + 42.981999926269054 + ], + "max_abs": 5.60546875, + "relative_rmse": 0.08441592752933502, + "equal_fraction": 0.021116377785801888 + }, + { + "operator": "attn.qkv_proj", + "variant": "q4_dequant_gemm", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 40.29725003056228, + "min_ms": 40.13475007377565, + "max_ms": 40.35129211843014, + "samples_ms": [ + 40.13475007377565, + 40.339750004932284, + 40.31404200941324, + 40.24154180660844, + 40.35129211843014, + 40.22395913489163, + 40.29725003056228 + ], + "max_abs": 5.60546875, + "relative_rmse": 0.08441592752933502, + "equal_fraction": 0.021116377785801888 + }, + { + "operator": "attn.out_proj", + "variant": "bf16", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.413249980658293, + "min_ms": 13.186333002522588, + "max_ms": 14.14366695098579, + "samples_ms": [ + 13.424291042611003, + 13.681416166946292, + 14.14366695098579, + 13.386917067691684, + 13.186333002522588, + 13.283791951835155, + 13.413249980658293 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "packed12", + "shape": [ + 4181, + 7168, + 5376 + ], + "pack_s": 0.06456262501887977, + "weight_bytes": 58028596, + "ratio": 0.75293036220836, + "weight_bits_identical": true, + "escape_fraction": 0.0009767701025722789, + "median_ms": 14.004125026986003, + "min_ms": 13.932083966210485, + "max_ms": 14.128583017736673, + "samples_ms": [ + 14.128583017736673, + 13.964999932795763, + 14.004125026986003, + 13.947749976068735, + 13.932083966210485, + 14.098458923399448, + 14.062334084883332 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "packed12_compiled", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 14.036833075806499, + "min_ms": 13.777584070339799, + "max_ms": 14.199041994288564, + "samples_ms": [ + 14.036833075806499, + 14.028500067070127, + 14.091833960264921, + 14.036166947335005, + 13.777584070339799, + 14.133417047560215, + 14.199041994288564 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "attn.out_proj", + "variant": "q8_fused", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 15.811874996870756, + "min_ms": 15.60616702772677, + "max_ms": 15.950917033478618, + "samples_ms": [ + 15.950917033478618, + 15.882750041782856, + 15.60616702772677, + 15.812082914635539, + 15.811874996870756, + 15.758000081405044, + 15.778542030602694 + ], + "max_abs": 0.5, + "relative_rmse": 0.006857909727841616, + "equal_fraction": 0.24853673577308655 + }, + { + "operator": "attn.out_proj", + "variant": "q8_dequant_gemm", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.878457946702838, + "min_ms": 13.743874849751592, + "max_ms": 14.05216590501368, + "samples_ms": [ + 13.942958088591695, + 13.81287514232099, + 13.743874849751592, + 13.878457946702838, + 14.05216590501368, + 13.864542124792933, + 13.975624926388264 + ], + "max_abs": 0.5, + "relative_rmse": 0.006857909727841616, + "equal_fraction": 0.24853673577308655 + }, + { + "operator": "attn.out_proj", + "variant": "q6_fused", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 15.862250002101064, + "min_ms": 15.767458127811551, + "max_ms": 16.03629207238555, + "samples_ms": [ + 15.862250002101064, + 15.81766689196229, + 15.960833989083767, + 15.948832966387272, + 15.767458127811551, + 15.833416022360325, + 16.03629207238555 + ], + "max_abs": 1.25, + "relative_rmse": 0.019887777045369148, + "equal_fraction": 0.08924407511949539 + }, + { + "operator": "attn.out_proj", + "variant": "q6_dequant_gemm", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.771500205621123, + "min_ms": 13.648458989337087, + "max_ms": 13.843791093677282, + "samples_ms": [ + 13.771500205621123, + 13.843791093677282, + 13.777583139017224, + 13.748375000432134, + 13.73504102230072, + 13.648458989337087, + 13.793708989396691 + ], + "max_abs": 1.25, + "relative_rmse": 0.019887777045369148, + "equal_fraction": 0.08924407511949539 + }, + { + "operator": "attn.out_proj", + "variant": "q4_fused", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 14.759707963094115, + "min_ms": 14.564833836629987, + "max_ms": 14.91695805452764, + "samples_ms": [ + 14.81087482534349, + 14.86175018362701, + 14.627082971855998, + 14.91695805452764, + 14.759707963094115, + 14.564833836629987, + 14.668332878500223 + ], + "max_abs": 5.78125, + "relative_rmse": 0.08107094466686249, + "equal_fraction": 0.022073309868574142 + }, + { + "operator": "attn.out_proj", + "variant": "q4_dequant_gemm", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.788500102236867, + "min_ms": 13.597874902188778, + "max_ms": 13.935040915384889, + "samples_ms": [ + 13.892709044739604, + 13.923333026468754, + 13.597874902188778, + 13.788500102236867, + 13.668040977790952, + 13.742083916440606, + 13.935040915384889 + ], + "max_abs": 5.78125, + "relative_rmse": 0.08107094466686249, + "equal_fraction": 0.022073309868574142 + }, + { + "operator": "mlp.fc1", + "variant": "bf16", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 52.165666827932, + "min_ms": 51.81224993430078, + "max_ms": 52.24533309228718, + "samples_ms": [ + 52.16937488876283, + 52.165666827932, + 52.24479106254876, + 51.92012502811849, + 51.90241592936218, + 52.24533309228718, + 51.81224993430078 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "packed12", + "shape": [ + 4181, + 5376, + 28672 + ], + "pack_s": 0.28152816696092486, + "weight_bytes": 233553616, + "ratio": 0.7575989288537681, + "weight_bits_identical": true, + "escape_fraction": 0.0025329719595357674, + "median_ms": 54.94029214605689, + "min_ms": 54.67533296905458, + "max_ms": 55.15158316120505, + "samples_ms": [ + 54.93524996563792, + 54.94029214605689, + 55.1342919934541, + 55.15158316120505, + 54.67533296905458, + 54.85250009223819, + 54.94895810261369 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "packed12_compiled", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 54.986333940178156, + "min_ms": 54.71341707743704, + "max_ms": 55.26600009761751, + "samples_ms": [ + 55.13437488116324, + 55.26600009761751, + 54.84370794147253, + 54.986333940178156, + 55.15583395026624, + 54.784000152722, + 54.71341707743704 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc1", + "variant": "q8_fused", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 60.483790934085846, + "min_ms": 60.2590839844197, + "max_ms": 60.80966698937118, + "samples_ms": [ + 60.30862499028444, + 60.483790934085846, + 60.80966698937118, + 60.6498341076076, + 60.41408306919038, + 60.2590839844197, + 60.61466713435948 + ], + "max_abs": 0.6875, + "relative_rmse": 0.00697753531858325, + "equal_fraction": 0.24016006290912628 + }, + { + "operator": "mlp.fc1", + "variant": "q8_dequant_gemm", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 54.15787501260638, + "min_ms": 54.041167022660375, + "max_ms": 54.48079202324152, + "samples_ms": [ + 54.08804211765528, + 54.15787501260638, + 54.06516697257757, + 54.041167022660375, + 54.163584019988775, + 54.43433299660683, + 54.48079202324152 + ], + "max_abs": 0.6875, + "relative_rmse": 0.00697753531858325, + "equal_fraction": 0.24016006290912628 + }, + { + "operator": "mlp.fc1", + "variant": "q6_fused", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 61.271291924640536, + "min_ms": 60.923040844500065, + "max_ms": 61.29683298058808, + "samples_ms": [ + 61.28195789642632, + 61.00579211488366, + 61.13933282904327, + 61.28733418881893, + 60.923040844500065, + 61.29683298058808, + 61.271291924640536 + ], + "max_abs": 1.625, + "relative_rmse": 0.020274344831705093, + "equal_fraction": 0.08617563545703888 + }, + { + "operator": "mlp.fc1", + "variant": "q6_dequant_gemm", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 53.775500040501356, + "min_ms": 53.66216693073511, + "max_ms": 54.12320885807276, + "samples_ms": [ + 53.74274984933436, + 53.71450004167855, + 53.775500040501356, + 54.12320885807276, + 53.901457926258445, + 53.84779185988009, + 53.66216693073511 + ], + "max_abs": 1.625, + "relative_rmse": 0.020274344831705093, + "equal_fraction": 0.08617563545703888 + }, + { + "operator": "mlp.fc1", + "variant": "q4_fused", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 57.11166700348258, + "min_ms": 56.81737489067018, + "max_ms": 57.686541927978396, + "samples_ms": [ + 56.81737489067018, + 57.11166700348258, + 56.91687506623566, + 57.09958402439952, + 57.40487505681813, + 57.686541927978396, + 57.62820807285607 + ], + "max_abs": 7.21875, + "relative_rmse": 0.08270496875047684, + "equal_fraction": 0.021269498392939568 + }, + { + "operator": "mlp.fc1", + "variant": "q4_dequant_gemm", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 54.25675003789365, + "min_ms": 53.82283288054168, + "max_ms": 54.87637501209974, + "samples_ms": [ + 53.82283288054168, + 54.06649992801249, + 54.25675003789365, + 53.96083300001919, + 54.30883285589516, + 54.32837479747832, + 54.87637501209974 + ], + "max_abs": 7.21875, + "relative_rmse": 0.08270496875047684, + "equal_fraction": 0.021269498392939568 + }, + { + "operator": "mlp.fc2", + "variant": "bf16", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 32.67379105091095, + "min_ms": 32.297125086188316, + "max_ms": 33.28745788894594, + "samples_ms": [ + 33.28745788894594, + 32.67379105091095, + 32.43308397941291, + 32.297125086188316, + 33.098625019192696, + 32.57412509992719, + 32.885042019188404 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "packed12", + "shape": [ + 4181, + 14336, + 5376 + ], + "pack_s": 0.128432875033468, + "weight_bytes": 116549002, + "ratio": 0.7561210191168752, + "weight_bits_identical": true, + "escape_fraction": 0.0020403310555179104, + "median_ms": 34.36666703782976, + "min_ms": 33.84170797653496, + "max_ms": 34.62899988517165, + "samples_ms": [ + 34.23387510702014, + 34.372332971543074, + 34.62899988517165, + 34.4923329539597, + 33.84170797653496, + 34.36666703782976, + 33.9440000243485 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "packed12_compiled", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 34.0739160310477, + "min_ms": 33.992790849879384, + "max_ms": 34.83095811679959, + "samples_ms": [ + 34.31983385235071, + 34.83095811679959, + 34.06149987131357, + 33.992790849879384, + 34.204334020614624, + 34.0739160310477, + 34.02716713026166 + ], + "max_abs": 0.0, + "relative_rmse": 0.0, + "equal_fraction": 1.0 + }, + { + "operator": "mlp.fc2", + "variant": "q8_fused", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 34.68745783902705, + "min_ms": 34.13212485611439, + "max_ms": 35.295374924317, + "samples_ms": [ + 34.59445899352431, + 34.13212485611439, + 35.0765420589596, + 34.826042130589485, + 34.68745783902705, + 35.295374924317, + 34.50066689401865 + ], + "max_abs": 1.125, + "relative_rmse": 0.007229790091514587, + "equal_fraction": 0.23662720620632172 + }, + { + "operator": "mlp.fc2", + "variant": "q8_dequant_gemm", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 33.93920813687146, + "min_ms": 33.23116712272167, + "max_ms": 34.14066694676876, + "samples_ms": [ + 34.02454196475446, + 33.23883400298655, + 34.019374987110496, + 33.81558391265571, + 33.93920813687146, + 33.23116712272167, + 34.14066694676876 + ], + "max_abs": 1.125, + "relative_rmse": 0.007229790091514587, + "equal_fraction": 0.23662720620632172 + }, + { + "operator": "mlp.fc2", + "variant": "q6_fused", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 34.468917176127434, + "min_ms": 34.02270912192762, + "max_ms": 34.86333298496902, + "samples_ms": [ + 34.86333298496902, + 34.098458010703325, + 34.02270912192762, + 34.199790796265006, + 34.74954189732671, + 34.468917176127434, + 34.50925019569695 + ], + "max_abs": 3.5, + "relative_rmse": 0.021220030263066292, + "equal_fraction": 0.08387544006109238 + }, + { + "operator": "mlp.fc2", + "variant": "q6_dequant_gemm", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 33.64562499336898, + "min_ms": 33.47887517884374, + "max_ms": 34.06262514181435, + "samples_ms": [ + 33.79079094156623, + 34.06262514181435, + 33.64562499336898, + 33.51258300244808, + 33.47887517884374, + 33.56566606089473, + 33.88137510046363 + ], + "max_abs": 3.5, + "relative_rmse": 0.021220030263066292, + "equal_fraction": 0.08387544006109238 + }, + { + "operator": "mlp.fc2", + "variant": "q4_fused", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 31.817874871194363, + "min_ms": 31.516709132120013, + "max_ms": 32.1920420974493, + "samples_ms": [ + 31.516709132120013, + 32.19029190950096, + 31.671958975493908, + 31.74712508916855, + 32.1920420974493, + 32.01295807957649, + 31.817874871194363 + ], + "max_abs": 13.5, + "relative_rmse": 0.0866343304514885, + "equal_fraction": 0.020664894953370094 + }, + { + "operator": "mlp.fc2", + "variant": "q4_dequant_gemm", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 33.572624903172255, + "min_ms": 33.22533308528364, + "max_ms": 33.93350006081164, + "samples_ms": [ + 33.38700020685792, + 33.81758299656212, + 33.42291712760925, + 33.93350006081164, + 33.572624903172255, + 33.611832885071635, + 33.22533308528364 + ], + "max_abs": 13.5, + "relative_rmse": 0.0866343304514885, + "equal_fraction": 0.020664894953370094 + } + ] +} diff --git a/reports/optimization-v2/summary.json b/reports/optimization-v2/summary.json new file mode 100644 index 0000000000000000000000000000000000000000..f6d7dd5477f063b8dbb46cbe7fc92eb8fb7e309a --- /dev/null +++ b/reports/optimization-v2/summary.json @@ -0,0 +1,464 @@ +[ + { + "valid_denoising": true, + "case": "product", + "profile": "quiet-baseline", + "label": "BF16 baseline (packing still active)", + "image": "outputs/optimization-v2/product/quiet-baseline-1.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 1, + "load_included_s": [ + 90.06498187500983 + ], + "resident_total_s": [ + 80.67228879104368 + ], + "resident_dit_s": [ + 71.93048870726489 + ], + "peak_mlx_gib": 38.29415257833898, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 80.67228879104368, + "resident_dit_median_s": 71.93048870726489 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "quiet-native", + "label": "Exact optimized BF16, final quiet session", + "image": "outputs/optimization-v2/product/quiet-native-2.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 2, + "load_included_s": [ + 71.27239600010216 + ], + "resident_total_s": [ + 65.1419367089402, + 69.45462800003588 + ], + "resident_dit_s": [ + 62.950471873860806, + 67.25628604320809 + ], + "peak_mlx_gib": 38.03162079304457, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 67.29828235448804, + "resident_dit_median_s": 65.10337895853445 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "quiet-packed", + "label": "Exact optimized packed BF16, final quiet session", + "image": "outputs/optimization-v2/product/quiet-packed-1.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 1, + "load_included_s": [ + 73.30809220881201 + ], + "resident_total_s": [ + 72.23136470792815 + ], + "resident_dit_s": [ + 70.08077566721477 + ], + "peak_mlx_gib": 29.89763506874442, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 72.23136470792815, + "resident_dit_median_s": 70.08077566721477 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "wired-baseline", + "label": "BF16 baseline", + "image": "outputs/optimization-v2/product/wired-baseline-2.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 2, + "load_included_s": [ + 101.54417183389887 + ], + "resident_total_s": [ + 76.30497883283533, + 80.11705687502399 + ], + "resident_dit_s": [ + 69.85253358306363, + 72.4030550008174 + ], + "peak_mlx_gib": 38.30599339865148, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 78.21101785392966, + "resident_dit_median_s": 71.12779429194052 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "wired-compiled", + "label": "Compiled BF16, retained refiners", + "image": "outputs/optimization-v2/product/wired-compiled-2.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 2, + "load_included_s": [ + 90.70666058384813 + ], + "resident_total_s": [ + 65.00155654200353, + 65.68190779187717 + ], + "resident_dit_s": [ + 61.30852279323153, + 61.98352895723656 + ], + "peak_mlx_gib": 39.5204159040004, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 65.34173216694035, + "resident_dit_median_s": 61.646025875234045 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "packed12", + "label": "Lossless packed, retained refiners", + "image": "outputs/optimization-v2/product/packed12-1.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 1, + "load_included_s": [ + 110.07412858400494 + ], + "resident_total_s": [ + 70.62239662511274 + ], + "resident_dit_s": [ + 67.21346754208207 + ], + "peak_mlx_gib": 31.384430792182684, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 70.62239662511274, + "resident_dit_median_s": 67.21346754208207 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "prefetch", + "label": "Compiled BF16 + exact caches + prefetch", + "image": "outputs/optimization-v2/product/prefetch-1.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 1, + "load_included_s": [ + 73.42828391701914 + ], + "resident_total_s": [ + 68.04469804186374 + ], + "resident_dit_s": [ + 65.76458266586997 + ], + "peak_mlx_gib": 38.08291033655405, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 68.04469804186374, + "resident_dit_median_s": 65.76458266586997 + }, + { + "valid_denoising": true, + "case": "product", + "profile": "compact", + "label": "Lossless packed + exact caches + prefetch", + "image": "outputs/optimization-v2/product/compact-1.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 1, + "load_included_s": [ + 74.57291350001469 + ], + "resident_total_s": [ + 73.86259799986146 + ], + "resident_dit_s": [ + 71.3634798352141 + ], + "peak_mlx_gib": 29.897604551166296, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 73.86259799986146, + "resident_dit_median_s": 71.3634798352141 + }, + { + "valid_denoising": false, + "case": "product", + "profile": "fp16", + "label": "FP16 projection failure (non-finite)", + "image": "outputs/optimization-v2/product/fp16-0.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 0, + "load_included_s": [ + 80.01661587506533 + ], + "resident_total_s": [], + "resident_dit_s": [], + "peak_mlx_gib": 37.576368521898985, + "pixel_identical": false, + "mae_8bit": 154.0353469053904, + "max_error_8bit": 255, + "psnr_db": 3.5187477254843316, + "ssim_rgb": 0.029728687074001295, + "resident_median_s": null, + "resident_dit_median_s": null + }, + { + "valid_denoising": true, + "case": "product", + "profile": "five-pass", + "label": "Five original passes (skip head 1)", + "image": "outputs/optimization-v2/product/five-pass-0.png", + "reference": "outputs/optimization-v2/product/quiet-baseline-1.png", + "resident_samples": 0, + "load_included_s": [ + 77.87358345813118 + ], + "resident_total_s": [], + "resident_dit_s": [], + "peak_mlx_gib": 37.34613373503089, + "pixel_identical": false, + "mae_8bit": 22.355140527089436, + "max_error_8bit": 255, + "psnr_db": 16.798797459226876, + "ssim_rgb": 0.7964514877131589, + "resident_median_s": null, + "resident_dit_median_s": null + }, + { + "valid_denoising": true, + "case": "portrait", + "profile": "wired-baseline", + "label": "BF16 baseline", + "image": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 3, + "load_included_s": [], + "resident_total_s": [ + 78.18482695799321, + 72.05573683301918, + 69.65558570809662 + ], + "resident_dit_s": [ + 73.01564137567766, + 67.93663270864636, + 65.7275596249383 + ], + "peak_mlx_gib": 38.301812490448356, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 72.05573683301918, + "resident_dit_median_s": 67.93663270864636 + }, + { + "valid_denoising": true, + "case": "portrait", + "profile": "wired-compiled", + "label": "Compiled BF16, retained refiners", + "image": "outputs/optimization-v2/portrait/wired-compiled-2.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 3, + "load_included_s": [], + "resident_total_s": [ + 65.96457233303227, + 67.38355066603981, + 70.01006279094145 + ], + "resident_dit_s": [ + 62.258379373000935, + 63.066041917772964, + 65.94701412320137 + ], + "peak_mlx_gib": 39.58911092765629, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 67.38355066603981, + "resident_dit_median_s": 63.066041917772964 + }, + { + "valid_denoising": true, + "case": "portrait", + "profile": "packed12", + "label": "Lossless packed, retained refiners", + "image": "outputs/optimization-v2/portrait/packed12-1.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 2, + "load_included_s": [], + "resident_total_s": [ + 73.31314095901325, + 73.80514199985191 + ], + "resident_dit_s": [ + 69.91494554141536, + 70.41792316758074 + ], + "peak_mlx_gib": 31.38351535797119, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 73.55914147943258, + "resident_dit_median_s": 70.16643435449805 + }, + { + "valid_denoising": true, + "case": "portrait", + "profile": "prefetch", + "label": "Compiled BF16 + exact caches + prefetch", + "image": "outputs/optimization-v2/portrait/prefetch-1.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 2, + "load_included_s": [], + "resident_total_s": [ + 69.13105158414692, + 69.9578939168714 + ], + "resident_dit_s": [ + 66.04796016518958, + 67.64429495879449 + ], + "peak_mlx_gib": 38.22266158089042, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 69.54447275050916, + "resident_dit_median_s": 66.84612756199203 + }, + { + "valid_denoising": true, + "case": "portrait", + "profile": "compact", + "label": "Lossless packed + exact caches + prefetch", + "image": "outputs/optimization-v2/portrait/compact-1.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 2, + "load_included_s": [], + "resident_total_s": [ + 74.2823673330713, + 74.5992630829569 + ], + "resident_dit_s": [ + 71.79213020857424, + 72.0978029598482 + ], + "peak_mlx_gib": 29.896689105778933, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": 74.4408152080141, + "resident_dit_median_s": 71.94496658421122 + }, + { + "valid_denoising": false, + "case": "portrait", + "profile": "fp16", + "label": "FP16 projection failure (non-finite)", + "image": "outputs/optimization-v2/portrait/fp16-0.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 1, + "load_included_s": [], + "resident_total_s": [ + 70.81806825008243 + ], + "resident_dit_s": [ + 67.85793091589585 + ], + "peak_mlx_gib": 38.327910631895065, + "pixel_identical": false, + "mae_8bit": 104.15469749768575, + "max_error_8bit": 255, + "psnr_db": 5.980561568481523, + "ssim_rgb": 0.02374704438244847, + "resident_median_s": 70.81806825008243, + "resident_dit_median_s": 67.85793091589585 + }, + { + "valid_denoising": true, + "case": "portrait", + "profile": "five-pass", + "label": "Five original passes (skip head 1)", + "image": "outputs/optimization-v2/portrait/five-pass-0.png", + "reference": "outputs/optimization-v2/portrait/wired-baseline-2.png", + "resident_samples": 1, + "load_included_s": [], + "resident_total_s": [ + 68.43293566606008 + ], + "resident_dit_s": [ + 64.24931845790707 + ], + "peak_mlx_gib": 38.09439530223608, + "pixel_identical": false, + "mae_8bit": 25.05439265569051, + "max_error_8bit": 253, + "psnr_db": 17.022613207270645, + "ssim_rgb": 0.6941111421384556, + "resident_median_s": 68.43293566606008, + "resident_dit_median_s": 64.24931845790707 + }, + { + "valid_denoising": true, + "case": "native-4k", + "profile": "compact", + "label": "Lossless packed + exact caches + prefetch", + "image": "outputs/optimization-v2/native-4k/compact-0.png", + "reference": "outputs/suite/native-4k/native-0.png", + "resident_samples": 0, + "load_included_s": [ + 446.74926854111254 + ], + "resident_total_s": [], + "resident_dit_s": [], + "peak_mlx_gib": 31.20296097546816, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "resident_median_s": null, + "resident_dit_median_s": null + } +] diff --git a/reports/optimization-v2/table.md b/reports/optimization-v2/table.md new file mode 100644 index 0000000000000000000000000000000000000000..974be11dd3899f46b988c50554bf1f76fe9a1783 --- /dev/null +++ b/reports/optimization-v2/table.md @@ -0,0 +1,20 @@ +| Case | Configuration | Warm samples | Warm median (s) | Peak MLX GiB | SSIM | Exact pixels | +|---|---|---:|---:|---:|---:|---| +| product | BF16 baseline (packing still active) | 1 | 80.67 | 38.29 | 1.000000 | yes | +| product | Exact optimized BF16, final quiet session | 2 | 67.30 | 38.03 | 1.000000 | yes | +| product | Exact optimized packed BF16, final quiet session | 1 | 72.23 | 29.90 | 1.000000 | yes | +| product | BF16 baseline | 2 | 78.21 | 38.31 | 1.000000 | yes | +| product | Compiled BF16, retained refiners | 2 | 65.34 | 39.52 | 1.000000 | yes | +| product | Lossless packed, retained refiners | 1 | 70.62 | 31.38 | 1.000000 | yes | +| product | Compiled BF16 + exact caches + prefetch | 1 | 68.04 | 38.08 | 1.000000 | yes | +| product | Lossless packed + exact caches + prefetch | 1 | 73.86 | 29.90 | 1.000000 | yes | +| product | FP16 projection failure (non-finite) | 0 | invalid | 37.58 | invalid state | non-finite | +| product | Five original passes (skip head 1) | 0 | — | 37.35 | 0.796451 | no | +| portrait | BF16 baseline | 3 | 72.06 | 38.30 | 1.000000 | yes | +| portrait | Compiled BF16, retained refiners | 3 | 67.38 | 39.59 | 1.000000 | yes | +| portrait | Lossless packed, retained refiners | 2 | 73.56 | 31.38 | 1.000000 | yes | +| portrait | Compiled BF16 + exact caches + prefetch | 2 | 69.54 | 38.22 | 1.000000 | yes | +| portrait | Lossless packed + exact caches + prefetch | 2 | 74.44 | 29.90 | 1.000000 | yes | +| portrait | FP16 projection failure (non-finite) | 1 | invalid | 38.33 | invalid state | non-finite | +| portrait | Five original passes (skip head 1) | 1 | 68.43 | 38.09 | 0.694111 | no | +| native-4k | Lossless packed + exact caches + prefetch | 0 | — | 31.20 | 1.000000 | yes | diff --git a/reports/optimization-v2/torch.json b/reports/optimization-v2/torch.json new file mode 100644 index 0000000000000000000000000000000000000000..5d7879e8f00396b787055b843f9e38376ec2a19a --- /dev/null +++ b/reports/optimization-v2/torch.json @@ -0,0 +1,420 @@ +{ + "platform": "macOS-27.0.1-arm64-arm-64bit", + "torch": "2.15.0", + "threads": 10, + "repeats": 5, + "warmup": 2, + "scope": "Actual H3 block-0 weights, synthetic activations; model loading and dtype conversion excluded.", + "trials": [ + { + "operator": "attn.qkv_proj", + "device": "cpu", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 3701.2594998814166, + "samples_ms": [ + 3645.8038750570267, + 3700.587541097775, + 3701.2594998814166, + 3725.67658405751, + 3751.146041089669 + ], + "relative_rmse": 0.0016586730489507318 + }, + { + "operator": "attn.qkv_proj", + "device": "cpu", + "dtype": "torch.float32", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 617.0030829962343, + "samples_ms": [ + 616.0587079357356, + 637.2107500210404, + 627.203208161518, + 617.0030829962343, + 613.2661669980735 + ], + "relative_rmse": 0.0 + }, + { + "operator": "attn.qkv_proj", + "device": "mps", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 38.99029106833041, + "samples_ms": [ + 38.59824989922345, + 38.70695806108415, + 38.99029106833041, + 39.377457927912474, + 40.238582994788885 + ], + "relative_rmse": 0.0016586730489507318 + }, + { + "operator": "attn.qkv_proj", + "device": "mps", + "dtype": "torch.float16", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 41.44991608336568, + "samples_ms": [ + 40.2035410515964, + 40.685457875952125, + 41.44991608336568, + 41.75474983640015, + 41.69837478548288 + ], + "relative_rmse": 0.0002074193034786731 + }, + { + "operator": "attn.qkv_proj", + "device": "mps", + "dtype": "torch.float32", + "shape": [ + 4181, + 5376, + 21504 + ], + "median_ms": 203.43483285978436, + "samples_ms": [ + 186.70570803806186, + 197.21666700206697, + 204.3533339165151, + 206.5801250282675, + 203.43483285978436 + ], + "relative_rmse": 0.0 + }, + { + "operator": "attn.out_proj", + "device": "cpu", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 1214.189250022173, + "samples_ms": [ + 1221.7448328156024, + 1211.8159160017967, + 1213.1728339008987, + 1214.189250022173, + 1216.0887920763344 + ], + "relative_rmse": 0.0016584296245127916 + }, + { + "operator": "attn.out_proj", + "device": "cpu", + "dtype": "torch.float32", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 204.44674999453127, + "samples_ms": [ + 204.44674999453127, + 206.50512515567243, + 202.72879186086357, + 202.91408407501876, + 204.5679169241339 + ], + "relative_rmse": 0.0 + }, + { + "operator": "attn.out_proj", + "device": "mps", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.290167087689042, + "samples_ms": [ + 13.436208013445139, + 13.941709185019135, + 13.290167087689042, + 13.14554107375443, + 13.104083016514778 + ], + "relative_rmse": 0.0016584297409281135 + }, + { + "operator": "attn.out_proj", + "device": "mps", + "dtype": "torch.float16", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 13.19179218262434, + "samples_ms": [ + 13.19179218262434, + 13.081457931548357, + 13.279916951432824, + 13.22045805864036, + 13.152749976143241 + ], + "relative_rmse": 0.00020729658717755228 + }, + { + "operator": "attn.out_proj", + "device": "mps", + "dtype": "torch.float32", + "shape": [ + 4181, + 7168, + 5376 + ], + "median_ms": 59.14987483993173, + "samples_ms": [ + 59.288624906912446, + 59.14987483993173, + 58.7309580296278, + 59.26216603256762, + 58.7053750641644 + ], + "relative_rmse": 0.0 + }, + { + "operator": "mlp.fc1", + "device": "cpu", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 5015.978500014171, + "samples_ms": [ + 4981.27191606909, + 5016.96683303453, + 5013.545291963965, + 5043.636667076498, + 5015.978500014171 + ], + "relative_rmse": 0.0016574508044868708 + }, + { + "operator": "mlp.fc1", + "device": "cpu", + "dtype": "torch.float32", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 781.2532079406083, + "samples_ms": [ + 775.5420829635113, + 781.2532079406083, + 811.6851670201868, + 786.0322080086917, + 775.5197500810027 + ], + "relative_rmse": 0.0 + }, + { + "operator": "mlp.fc1", + "device": "mps", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 51.55754182487726, + "samples_ms": [ + 51.55754182487726, + 51.43470806069672, + 51.36879091151059, + 51.687208004295826, + 51.64370802231133 + ], + "relative_rmse": 0.0016574509209021926 + }, + { + "operator": "mlp.fc1", + "device": "mps", + "dtype": "torch.float16", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 51.62183311767876, + "samples_ms": [ + 51.6144591383636, + 51.398917101323605, + 51.62183311767876, + 52.15637502260506, + 52.686791867017746 + ], + "relative_rmse": 0.0002071879425784573 + }, + { + "operator": "mlp.fc1", + "device": "mps", + "dtype": "torch.float32", + "shape": [ + 4181, + 5376, + 28672 + ], + "median_ms": 232.809916138649, + "samples_ms": [ + 232.8284999821335, + 233.14516711980104, + 232.58750000968575, + 232.809916138649, + 232.6427090447396 + ], + "relative_rmse": 0.0 + }, + { + "operator": "mlp.fc2", + "device": "cpu", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 2572.5704170763493, + "samples_ms": [ + 2581.110875122249, + 2607.537457952276, + 2572.5704170763493, + 2570.869208080694, + 2538.388082990423 + ], + "relative_rmse": 0.001660577836446464 + }, + { + "operator": "mlp.fc2", + "device": "cpu", + "dtype": "torch.float32", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 393.7346248421818, + "samples_ms": [ + 394.1986670251936, + 387.5164999626577, + 393.7346248421818, + 407.3841660283506, + 387.0072499848902 + ], + "relative_rmse": 0.0 + }, + { + "operator": "mlp.fc2", + "device": "mps", + "dtype": "torch.bfloat16", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 31.237290939316154, + "samples_ms": [ + 29.555541928857565, + 30.560749815776944, + 31.237290939316154, + 31.85308282263577, + 31.76683303900063 + ], + "relative_rmse": 0.0016605781856924295 + }, + { + "operator": "mlp.fc2", + "device": "mps", + "dtype": "torch.float16", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 30.82345798611641, + "samples_ms": [ + 30.82345798611641, + 29.868208104744554, + 31.982708955183625, + 33.232917077839375, + 29.665250098332763 + ], + "relative_rmse": 0.00020759549806825817 + }, + { + "operator": "mlp.fc2", + "device": "mps", + "dtype": "torch.float32", + "shape": [ + 4181, + 14336, + 5376 + ], + "median_ms": 119.69162500463426, + "samples_ms": [ + 119.69162500463426, + 119.40862494520843, + 119.94224996306002, + 119.78904204443097, + 119.54558291472495 + ], + "relative_rmse": 1.3209257758717285e-06 + }, + { + "operator": "mlp", + "compiled": false, + "device": "mps", + "dtype": "torch.bfloat16", + "median_ms": 85.36641695536673, + "samples_ms": [ + 85.36641695536673, + 85.00783308409154, + 87.21108408644795, + 84.90916690789163, + 86.90800005570054 + ], + "equal_fraction": 1.0 + }, + { + "operator": "mlp", + "compiled": true, + "device": "mps", + "dtype": "torch.bfloat16", + "median_ms": 83.18099984899163, + "samples_ms": [ + 82.51995779573917, + 83.18099984899163, + 84.68637499026954, + 82.74875022470951, + 83.52845907211304 + ], + "equal_fraction": 1.0 + } + ] +} diff --git a/reports/optimization-v2/wheel-smoke.json b/reports/optimization-v2/wheel-smoke.json new file mode 100644 index 0000000000000000000000000000000000000000..7d0e1e02ae5defa91eab0c0bb9ceffab2e9b7e7a --- /dev/null +++ b/reports/optimization-v2/wheel-smoke.json @@ -0,0 +1,19 @@ +{ + "wheel": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/dist/minimax_h3_image_mlx-0.2.0-py3-none-any.whl", + "package_import": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/dist/minimax_h3_image_mlx-0.2.0-py3-none-any.whl/h3_mlx/__init__.py", + "scope": "All six heads and compiled VAE; 256px development smoke, not an image-quality or speed benchmark", + "valid_denoising": true, + "timings": { + "encode_s": 0.14459512499161065, + "dit_setup_s": 0.013636125018820167, + "step_0_s": 11.638990957988426, + "step_1_s": 0.4957056250423193, + "step_2_s": 0.5165887079201639, + "step_3_s": 0.5714410420041531, + "step_4_s": 0.6379548329859972, + "step_5_s": 0.6569103749934584, + "decode_s": 1.3818737920373678, + "total_s": 16.45848691603169 + }, + "png_sha256": "bc88083b013df6222bc4c1a582c5274eee731af8d868a8450e967a7568f43180" +} diff --git a/reports/tradeoffs.json b/reports/tradeoffs.json new file mode 100644 index 0000000000000000000000000000000000000000..432de53ff19018de07be2108eef752b375ad119d --- /dev/null +++ b/reports/tradeoffs.json @@ -0,0 +1,74 @@ +[ + { + "profile": "native", + "passes": 6, + "denoise_s": 67.86986137414351, + "fresh_end_to_end_s": 72.77735170791857, + "peak_mlx_gib": 38.30599339865148, + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0 + }, + { + "profile": "tuned", + "passes": 6, + "denoise_s": 65.01547354180366, + "fresh_end_to_end_s": null, + "peak_mlx_gib": 38.33396276086569, + "pixel_identical": false, + "mae_8bit": 2.3392630418141684, + "max_error_8bit": 250, + "psnr_db": 30.55678913191977, + "ssim_rgb": 0.9757456740909974 + }, + { + "profile": "fused", + "passes": 6, + "denoise_s": 63.474478498799726, + "fresh_end_to_end_s": 66.34713304112665, + "peak_mlx_gib": 38.306039180606604, + "pixel_identical": false, + "mae_8bit": 2.2516628901163735, + "max_error_8bit": 255, + "psnr_db": 30.86484447444775, + "ssim_rgb": 0.9768710943911784 + }, + { + "profile": "q8", + "passes": 6, + "denoise_s": 72.2751243331004, + "fresh_end_to_end_s": null, + "peak_mlx_gib": 21.484734853729606, + "pixel_identical": false, + "mae_8bit": 5.79255223274231, + "max_error_8bit": 253, + "psnr_db": 22.670030556020244, + "ssim_rgb": 0.9318277671621975 + }, + { + "profile": "q4", + "passes": 6, + "denoise_s": 67.70837004063651, + "fresh_end_to_end_s": null, + "peak_mlx_gib": 12.512566884979606, + "pixel_identical": false, + "mae_8bit": 22.925202290217083, + "max_error_8bit": 255, + "psnr_db": 15.417449405584902, + "ssim_rgb": 0.7799346096667573 + }, + { + "profile": "preview", + "passes": 3, + "denoise_s": 32.295400499831885, + "fresh_end_to_end_s": null, + "peak_mlx_gib": 38.32508214563131, + "pixel_identical": false, + "mae_8bit": 25.68697961171468, + "max_error_8bit": 255, + "psnr_db": 15.70646468928225, + "ssim_rgb": 0.6780853944783064 + } +] diff --git a/reports/vae/batch-1.json b/reports/vae/batch-1.json new file mode 100644 index 0000000000000000000000000000000000000000..56207664e4ce528a3be9e08178a41937d37b868d --- /dev/null +++ b/reports/vae/batch-1.json @@ -0,0 +1,109 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "dtype": "bfloat16", + "tile_batch": 1 + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "total_s": 2.9723427920835093 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.119593916228041, + "block_compute_s": 67.66628884081729, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.30599339865148, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.30599339865148, + "cache_gb": 0.2694286108016968 + }, + "output": "reports/vae/batch-1.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "validation_scope": "Decoder only: identical final latent, BF16 decoder; diffusion is not rerun", + "input_trace": "outputs/suite/product/native-3.trace.safetensors" +} diff --git a/reports/vae/batch-16.json b/reports/vae/batch-16.json new file mode 100644 index 0000000000000000000000000000000000000000..11282498e3ae013e2a4cb4c3db14f17b3e9fdc6b --- /dev/null +++ b/reports/vae/batch-16.json @@ -0,0 +1,109 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "dtype": "bfloat16", + "tile_batch": 16 + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "total_s": 1.8983302710112184 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.119593916228041, + "block_compute_s": 67.66628884081729, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.30599339865148, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.30599339865148, + "cache_gb": 0.2694286108016968 + }, + "output": "reports/vae/batch-16.png", + "png_sha256": "2cd5b2c7d84c07801b333e4a2db2b3228a106ea0c1f2462c00fa8a4a5234d00e", + "validation_scope": "Decoder only: identical final latent, BF16 decoder; diffusion is not rerun", + "input_trace": "outputs/suite/product/native-3.trace.safetensors" +} diff --git a/reports/vae/batch-4.json b/reports/vae/batch-4.json new file mode 100644 index 0000000000000000000000000000000000000000..d6d7e0745ea1493253feb0f487725c4cffa9f9ae --- /dev/null +++ b/reports/vae/batch-4.json @@ -0,0 +1,109 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "dtype": "bfloat16", + "tile_batch": 4 + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "total_s": 2.0135446878848597 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.119593916228041, + "block_compute_s": 67.66628884081729, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.30599339865148, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.30599339865148, + "cache_gb": 0.2694286108016968 + }, + "output": "reports/vae/batch-4.png", + "png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293", + "validation_scope": "Decoder only: identical final latent, BF16 decoder; diffusion is not rerun", + "input_trace": "outputs/suite/product/native-3.trace.safetensors" +} diff --git a/reports/vae/batch-8.json b/reports/vae/batch-8.json new file mode 100644 index 0000000000000000000000000000000000000000..bc683a457e17741784aae55a12cfc5f577faeaab --- /dev/null +++ b/reports/vae/batch-8.json @@ -0,0 +1,109 @@ +{ + "prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.", + "seed": 731, + "size": [ + 2048, + 2048 + ], + "canvas": [ + 2048, + 2048 + ], + "rng": "torch", + "sigmas": [ + 1.0, + 0.9675236940383911, + 0.8875485062599182, + 0.75, + 0.5327739119529724, + 0.23200887441635132, + 0.0 + ], + "steps": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "dit": { + "cache_dir": "cache", + "cache_gb": 38, + "bits": null, + "group_size": 64, + "mlp_chunk": 0, + "query_chunk": 0, + "kernel": "native", + "threads": 256, + "quantized_path": null + }, + "encoder": { + "cache_dir": "cache", + "bits": null, + "group_size": 64, + "query_chunk": 0 + }, + "vae": { + "dtype": "bfloat16", + "tile_batch": 8 + }, + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "timings": { + "total_s": 1.9313540210714564 + }, + "reference_images": [], + "reference_sha256": [], + "conditioning_cache_hit": true, + "dit_effective": { + "bits": null, + "group_size": 64, + "cache_limit_gb": 38.0, + "checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900" + }, + "dit_was_resident": true, + "dit_metrics": { + "block_load_s": 1.119593916228041, + "block_compute_s": 67.66628884081729, + "block_loads": 2 + }, + "memory_before_decode": { + "active_gb": 36.7733853533864, + "peak_gb": 38.30599339865148, + "cache_gb": 0.994278697296977 + }, + "memory": { + "active_gb": 36.80082065612078, + "peak_gb": 38.30599339865148, + "cache_gb": 0.2694286108016968 + }, + "output": "reports/vae/batch-8.png", + "png_sha256": "57a85569ad45d469b191470541e8cfff8d576fed6cc6bb8bd54db16e9bd2d81f", + "validation_scope": "Decoder only: identical final latent, BF16 decoder; diffusion is not rerun", + "input_trace": "outputs/suite/product/native-3.trace.safetensors" +} diff --git a/reports/vae/trials.json b/reports/vae/trials.json new file mode 100644 index 0000000000000000000000000000000000000000..1d6191679194328dab6aa896f52e274d22370042 --- /dev/null +++ b/reports/vae/trials.json @@ -0,0 +1,96 @@ +{ + "environment": { + "platform": "macOS-27.0.1-arm64-arm-64bit", + "machine": "arm64", + "metal": { + "device_name": "Apple M5 Pro", + "max_recommended_working_set_size": 55662788608, + "memory_size": 68719476736, + "architecture": "applegpu_g17s", + "max_buffer_length": 41747087360, + "resource_limit": 499000 + }, + "versions": { + "mlx": "0.32.4", + "mlx-metal": "0.32.4", + "numpy": "2.5.4", + "safetensors": "0.8.0", + "transformers": "4.57.6", + "torch": "2.15.0", + "Pillow": "13.0.0", + "scikit-image": "0.26.0" + }, + "precision_environment": { + "MLX_ENABLE_TF32": "0", + "MLX_CONV_WINOGRAD": "0" + } + }, + "source_trace": "outputs/suite/product/native-3.trace.safetensors", + "scope": "Same final latent; decoder only, loaded weights and one warmup excluded", + "trials": [ + { + "batch": 1, + "median_ms": 2972.3427920835093, + "min_ms": 2965.7569171395153, + "max_ms": 2978.9286670275033, + "samples_ms": [ + 2978.9286670275033, + 2965.7569171395153 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "max_float_error": 0.0 + }, + { + "batch": 4, + "median_ms": 2013.5446878848597, + "min_ms": 2011.7882918566465, + "max_ms": 2015.301083913073, + "samples_ms": [ + 2011.7882918566465, + 2015.301083913073 + ], + "pixel_identical": true, + "mae_8bit": 0.0, + "max_error_8bit": 0, + "psnr_db": null, + "ssim_rgb": 1.0, + "max_float_error": 0.0 + }, + { + "batch": 8, + "median_ms": 1931.3540210714564, + "min_ms": 1928.6854171659797, + "max_ms": 1934.022624976933, + "samples_ms": [ + 1928.6854171659797, + 1934.022624976933 + ], + "pixel_identical": false, + "mae_8bit": 0.1251803239186605, + "max_error_8bit": 4, + "psnr_db": 56.9881575908215, + "ssim_rgb": 0.9989046120633382, + "max_float_error": 0.015625 + }, + { + "batch": 16, + "median_ms": 1898.3302710112184, + "min_ms": 1892.1958750579506, + "max_ms": 1904.4646669644862, + "samples_ms": [ + 1892.1958750579506, + 1904.4646669644862 + ], + "pixel_identical": false, + "mae_8bit": 0.12682731946309408, + "max_error_8bit": 4, + "psnr_db": 56.93080322502411, + "ssim_rgb": 0.9988915771568488, + "max_float_error": 0.015625 + } + ] +} diff --git a/requirements-macos.lock b/requirements-macos.lock new file mode 100644 index 0000000000000000000000000000000000000000..ca269e6a29ed1efb1fc6808d80739931d428c15c --- /dev/null +++ b/requirements-macos.lock @@ -0,0 +1,46 @@ +certifi==2026.10.23 +charset-normalizer==3.5.2 +contourpy==1.4.0 +cycler==0.12.1 +filelock==4.2.10 +fonttools==4.68.0 +fsspec==2026.9.0 +hf-xet==1.8.0 +huggingface-hub==0.36.2 +idna==3.20 +imageio==2.38.1 +iniconfig==2.3.1 +jinja2==3.1.6 +kiwisolver==1.5.1 +lazy-loader==0.6 +markupsafe==3.0.4 +matplotlib==3.11.2 +mlx==0.32.4 +mlx-metal==0.32.4 +mpmath==1.3.0 +networkx==3.7 +numpy==2.5.4 +packaging==26.3 +pillow==13.0.0 +pluggy==1.7.0 +pygments==2.21.0 +pyparsing==3.3.3 +pytest==9.2.0 +python-dateutil==4.0.0 +pyyaml==6.0.3 +regex==2026.11.9 +requests==2.34.2 +ruff==0.17.4 +safetensors==0.8.0 +scikit-image==0.26.0 +scipy==1.18.1 +setuptools==84.2.1 +sympy==1.14.0 +tifffile==2026.11.8 +tokenizers==0.22.2 +torch==2.15.0 +tqdm==4.70.1 +transformers==4.57.6 +typing-extensions==4.16.0 +tzdata==2026.6 +urllib3==2.8.0 diff --git a/scripts/prepare_hf_release.py b/scripts/prepare_hf_release.py new file mode 100644 index 0000000000000000000000000000000000000000..213cce0817532a370a674b4d8c449c49b4935ccd --- /dev/null +++ b/scripts/prepare_hf_release.py @@ -0,0 +1,395 @@ +"""Build reviewable Hugging Face upload folders without changing Hub state. + +Run from the source checkout with its tested MLX environment. Existing native +and packed weights are linked, never duplicated or removed. Quantized outputs +are generated only when explicitly selected with --quantize. +""" + +from __future__ import annotations + +import argparse +import json +import re +import shutil +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT)) + +from h3_mlx.hub import read_json, sha256 # noqa: E402 + +IMAGE_REVISION = "6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901" +ENCODER_REVISION = "0919fb684102ef115126612f3fbb84d1027e7317" + + +def write_json(path, value): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(value, indent=2) + "\n") + + +def link(source, destination): + source = Path(source).resolve(strict=True) + destination.parent.mkdir(parents=True, exist_ok=True) + if destination.is_symlink() and destination.resolve() == source: + return + if destination.exists() or destination.is_symlink(): + raise FileExistsError(destination) + destination.symlink_to(source) + + +def model_metadata(variant=None): + import yaml + + data = { + "library_name": "mlx", + "pipeline_tag": "text-to-image", + "license": "other", + "license_name": "minimax-h3-image-community-license-agreement", + "license_link": "LICENSE", + "base_model": "MiniMaxAI/MiniMax-H3-Image", + "language": ["en"], + "inference": False, + "tags": [ + "mlx", + "apple-silicon", + "macos", + "minimax-h3", + "image-generation", + "image-editing", + "image-to-image", + "safetensors", + ], + "extra_gated_heading": "Request access under the MiniMax license", + "extra_gated_description": "Manual review. Read LICENSE and the territorial, commercial and acceptable-use conditions before requesting access.", + "extra_gated_fields": { + "Country of use": "country", + "I accept the MiniMax-H3-Image Community License Agreement including Exhibit A": "checkbox", + "I am authorized to receive and use these materials in my territory": "checkbox", + }, + "extra_gated_eu_disallowed": True, + } + if variant in ("q8", "q4"): + data["base_model_relation"] = "quantized" + data["tags"].append("quantized") + return ( + "---\n" + yaml.safe_dump(data, sort_keys=False, allow_unicode=True) + "---\n\n" + ) + + +def licenses(destination): + import requests + + for repo, revision, filename in ( + ("MiniMaxAI/MiniMax-H3-Image", IMAGE_REVISION, "LICENSE"), + ("MiniMaxAI/MiniMax-H3", ENCODER_REVISION, "LICENSE-text-encoder"), + ): + response = requests.get( + f"https://huggingface.co/{repo}/raw/{revision}/LICENSE", timeout=30 + ) + response.raise_for_status() + (destination / filename).write_text(response.text) + notice = ( + "MiniMax-H3-Image is licensed under the MiniMax-H3-Image Community License Agreement, " + "Copyright © 2026 MiniMax. All Rights Reserved.\n\n" + "Community MLX adaptation and packaging by Devin Lai. This is an independent release.\n" + "Modified files: MLX affine Q8/Q4 core shards, lossless palette12 shards, " + "repacked support tensors and evaluated six-step modulation tables. " + "No training or fine-tuning was performed. See MODIFICATIONS.md.\n" + "The separate text encoder retains its MiniMax H3 license.\n" + ) + (destination / "NOTICE").write_text(notice) + shutil.copy2(ROOT / "docs/MODIFICATIONS.md", destination / "MODIFICATIONS.md") + + +def manifest(destination, cache): + files = {} + for file in sorted(destination.rglob("*")): + if not file.is_file() or file.name == "files.json" or ".cache" in file.parts: + continue + stat = file.stat() + key = f"{file.resolve()}:{stat.st_size}:{stat.st_mtime_ns}" + if key not in cache: + print("Hashing", file.relative_to(destination), flush=True) + cache[key] = sha256(file) + files[file.relative_to(destination).as_posix()] = { + "bytes": stat.st_size, + "sha256": cache[key], + } + write_json( + destination / "files.json", {"format": "h3-mlx-files-v1", "files": files} + ) + return sum( + spec["bytes"] for name, spec in files.items() if name.startswith("model/") + ) + + +def shared_components(model, packed, destination): + import mlx.core as mx + + from h3_mlx.config import load_sigmas + from h3_mlx.dit import DiT + from h3_mlx.runtime import configure_memory + from h3_mlx.weights import WeightStore + + configure_memory() + target = destination / "model" + (target / "transformer").mkdir(parents=True, exist_ok=True) + support = target / "transformer/support.safetensors" + if not support.exists(): + store = WeightStore(model / "transformer") + names = [] + for key in store.index: + if key.startswith("blocks."): + if key.endswith( + ( + "norm1.weight", + "norm2.weight", + "attn.q_norm.weight", + "attn.k_norm.weight", + ) + ): + names.append(key) + elif ".adaln_proj." not in key: + names.append(key) + print("Exporting native support tensors", flush=True) + tensors = {key: store.get(key) for key in names} + mx.save_safetensors( + str(support), + tensors, + metadata={ + "modification": "Repacked native support tensors for the community MLX port by Devin Lai; original tensor values retained", + "source": f"MiniMaxAI/MiniMax-H3-Image@{IMAGE_REVISION}", + }, + ) + del tensors, store + mx.clear_cache() + link(model / "transformer/config.json", target / "transformer/config.json") + for name in ("pdd_config.json", "pdd_fused_heads.safetensors", "model_index.json"): + link(model / name, target / name) + for file in (model / "vae").iterdir(): + if file.is_file() and not file.name.startswith("."): + link(file, target / "vae" / file.name) + modulation = target / "modulation" + modulation.mkdir(exist_ok=True) + if not all( + (modulation / f"{name}.safetensors").exists() + for name in ("generation", "editing") + ): + dit = DiT(model, cache_dir=ROOT / "cache", cache_gb=0) + for name, edit in (("generation", False), ("editing", True)): + dit.prepare_modulation(load_sigmas(model), edit=edit) + data, metadata = mx.load( + str(ROOT / "cache" / f"adaln-{dit.modulation_key}.safetensors"), + return_metadata=True, + ) + metadata["modification"] = ( + "Original timestep projections evaluated for the six released PDD steps by Devin Lai; no interpolation or quantization" + ) + mx.save_safetensors( + str(modulation / f"{name}.safetensors"), data, metadata=metadata + ) + del data + dit.clear() + if len(list(packed.glob("blocks.*.safetensors"))) != 50: + raise ValueError("Expected the validated 50-block packed12 cache") + + +def stage_main(destination): + for name in ( + "README.md", + "README.zh-CN.md", + "USAGE.md", + "MODEL_INDEX.md", + "BENCHMARKS.md", + "RELEASE.md", + "LICENSE", + "NOTICE", + "pyproject.toml", + "requirements-macos.lock", + ".gitignore", + ): + shutil.copy2(ROOT / name, destination / name) + for name in ( + "h3_mlx", + "tests", + "docs", + "assets", + "examples", + "scripts", + "provenance", + "reports", + "comparisons", + "experiments", + "optimization", + ): + shutil.copytree( + ROOT / name, + destination / name, + dirs_exist_ok=True, + ignore=shutil.ignore_patterns("__pycache__", "*.pyc", ".DS_Store"), + ) + shutil.copy2(ROOT / "LICENSE-model", destination / "LICENSE-model") + shutil.copy2(ROOT / "LICENSE-text-encoder", destination / "LICENSE-text-encoder") + + +def stage_gallery(main_folder, destination, cache): + """Keep generated images and visual comparisons under manual access review.""" + destination.mkdir(parents=True, exist_ok=True) + licenses(destination) + for name in ("examples/README.md", "comparisons/README.md"): + source = main_folder / name + target = destination / name + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, target) + for source in (main_folder / "examples").glob("*.json"): + shutil.copy2(source, destination / "examples" / source.name) + comparison_index = destination / "comparisons/README.md" + comparison_index.write_text( + comparison_index.read_text().replace( + "../reports/RESULTS.md", + "https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/blob/v0.4.0/reports/RESULTS.md", + ) + ) + moved = set() + for source in list(main_folder.rglob("*")): + if source.is_file() and source.suffix.lower() in (".png", ".jpg", ".jpeg", ".html"): + relative = source.relative_to(main_folder) + target = destination / relative + target.parent.mkdir(parents=True, exist_ok=True) + shutil.move(str(source), str(target)) + moved.add(relative.as_posix()) + + gallery_url = "https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples" + pattern = re.compile(r"(!?)\[([^\]]*)\]\(([^)\n]+)\)") + for document in main_folder.rglob("*.md"): + text = document.read_text() + text = re.sub(r"^thumbnail: .*\n", "", text, flags=re.MULTILINE) + + def replace_link(match, base=document.parent): + target = match.group(3) + if "://" in target or target.startswith("#"): + return match.group(0) + try: + relative = (base / target).resolve().relative_to( + main_folder.resolve() + ).as_posix() + except ValueError: + return match.group(0) + if relative not in moved: + return match.group(0) + return f"[{match.group(2)}]({gallery_url}/blob/v0.4.0/{relative})" + + text = pattern.sub(replace_link, text) + document.write_text(text) + (destination / "README.md").write_text( + model_metadata() + + "# MiniMax H3 Image MLX · example gallery\n\n" + "Generated images and visual comparisons from the community MLX port by Devin Lai. " + "Powered by MiniMax-H3-Image. These images are AI-generated.\n\n" + "Examples are subject to the MiniMax-H3-Image Community License Agreement, " + "including its territorial and acceptable-use restrictions. Request access " + "and review the license before viewing or using the files. The standard grant " + "excludes the EU, UK, Republic of Korea and US.\n\n" + "- [Showcase](assets/showcase.jpg)\n" + "- [Generated examples, prompts and seeds](examples/README.md)\n" + "- [Visual precision comparisons](comparisons/README.md)\n" + "- [Runtime and installation](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx)\n\n" + "See [LICENSE](LICENSE), [NOTICE](NOTICE) and [modifications](MODIFICATIONS.md). " + "Access review does not grant additional rights.\n" + ) + manifest(destination, cache) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--model", required=True, type=Path) + parser.add_argument("--packed-cache", required=True, type=Path) + parser.add_argument("--output", type=Path, default=ROOT / ".release/huggingface") + parser.add_argument("--quantize", nargs="*", choices=("q8", "q4"), default=[]) + args = parser.parse_args() + model, packed = args.model.resolve(), args.packed_cache.resolve() + output = args.output.resolve() + output.mkdir(parents=True, exist_ok=True) + catalog = read_json(ROOT / "h3_mlx/model_index.json") + provenance = read_json(ROOT / "provenance/sources.json") + if ( + sha256(model / "transformer/config.json") + != provenance["files"]["models/MiniMax-H3-Image/transformer/config.json"] + ): + raise ValueError("Image model configuration differs from the pinned source") + cache_path = output.parent / "hash-cache.json" + cache = read_json(cache_path) if cache_path.exists() else {} + summary = {"status": "prepared", "publication": "not started", "repositories": {}} + shared = output / "MiniMax-H3-Image-mlx-shared" + shared.mkdir(exist_ok=True) + licenses(shared) + shared_components(model, packed, shared) + (ROOT / "LICENSE-model").write_text((shared / "LICENSE").read_text()) + (ROOT / "LICENSE-text-encoder").write_text( + (shared / "LICENSE-text-encoder").read_text() + ) + (shared / "README.md").write_text( + model_metadata() + (ROOT / "docs/cards/shared.md").read_text() + ) + summary["repositories"][shared.name] = { + "ready": True, + "model_bytes": manifest(shared, cache), + } + write_json(cache_path, cache) + for variant, entry in catalog["variants"].items(): + destination = output / entry["repo_id"].split("/")[-1] + destination.mkdir(exist_ok=True) + licenses(destination) + write_json( + destination / "variant.json", + {"variant": variant, **entry, "source": catalog["source"]}, + ) + (destination / "README.md").write_text( + model_metadata(variant) + (ROOT / f"docs/cards/{variant}.md").read_text() + ) + if variant == "bf16": + for file in (model / "transformer").iterdir(): + if file.is_file() and not file.name.startswith("."): + link(file, destination / "model/transformer" / file.name) + elif variant == "packed12": + for file in sorted(packed.glob("blocks.*.safetensors")): + link(file, destination / "model/core" / file.name) + elif variant in args.quantize: + from h3_mlx.convert import convert + + core = destination / "model/core" + if not (core / "quantization.json").exists(): + convert(model, core, bits=entry["bits"], group_size=64) + ready = (destination / "model").is_dir() and ( + entry["core_format"] != "quantized" + or (destination / "model/core/quantization.json").is_file() + ) + if ready and entry["core_format"] == "quantized": + metadata = read_json(destination / "model/core/quantization.json") + ready = len(metadata["files"]) == 52 and all( + (destination / "model/core" / file["file"]).is_file() + and (destination / "model/core" / file["file"]).stat().st_size + == file["bytes"] + for file in metadata["files"] + ) + size = manifest(destination, cache) + summary["repositories"][destination.name] = { + "ready": ready, + "model_bytes": size, + } + write_json(cache_path, cache) + main_folder = output / "MiniMax-H3-Image-mlx" + main_folder.mkdir(exist_ok=True) + stage_main(main_folder) + gallery = output / "MiniMax-H3-Image-mlx-examples" + stage_gallery(main_folder, gallery, cache) + summary["repositories"][gallery.name] = {"ready": True} + write_json(cache_path, cache) + summary["repositories"][main_folder.name] = {"ready": True} + write_json(output.parent / "preparation.json", summary) + print(json.dumps(summary, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/scripts/publish_hf_release.py b/scripts/publish_hf_release.py new file mode 100644 index 0000000000000000000000000000000000000000..9c0089a17d9e476524e3881427712262d9789983 --- /dev/null +++ b/scripts/publish_hf_release.py @@ -0,0 +1,305 @@ +"""Publish verified release components after redistribution rights are established. + +This command changes Hugging Face state. It never accepts model access requests +or sends announcements. Components may be uploaded one at a time to conserve +scratch space. The main repository is finalized only after every component. +""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT)) + +from h3_mlx.hub import read_json, sha256 # noqa: E402 + +PROJECT = "devin-lai/MiniMax-H3-Image-mlx" +RELEASE = "v0.4.0" +COMPONENTS = ("shared", "bf16", "packed12", "q8", "q4", "examples") + + +def write_json(path, value): + path.write_text(json.dumps(value, indent=2) + "\n") + + +def verify_local(folder): + manifest = read_json(folder / "files.json") + if manifest.get("format") != "h3-mlx-files-v1": + raise ValueError("Unknown file manifest") + for name, spec in manifest["files"].items(): + from h3_mlx.hub import relative_path + + file = folder / relative_path(name) + if not file.is_file() or file.stat().st_size != spec["bytes"]: + raise ValueError(f"Missing or truncated local file: {file}") + if sha256(file) != spec["sha256"]: + raise ValueError(f"Local SHA-256 mismatch: {file}") + quantization = folder / "model/core/quantization.json" + if quantization.exists(): + files = read_json(quantization)["files"] + if len(files) != 52: + raise ValueError("Expected all fifty main blocks and two token refiners") + for file in files: + expected = manifest["files"].get("model/core/" + file["file"]) + if expected != {"bytes": file["bytes"], "sha256": file["sha256"]}: + raise ValueError(f"Quantized export/manifest mismatch: {file['file']}") + return manifest + + +def verify_remote(api, repo_id, manifest, *, repo_type="model"): + from huggingface_hub import hf_hub_download + + info = api.repo_info(repo_id, repo_type=repo_type, files_metadata=True) + files = {file.rfilename: file for file in info.siblings} + for name, spec in manifest["files"].items(): + remote = files.get(name) + if remote is None or remote.size != spec["bytes"]: + raise ValueError(f"Remote file missing or wrong size: {repo_id}/{name}") + lfs = getattr(remote, "lfs", None) + digest = getattr(lfs, "sha256", None) if lfs is not None else None + if isinstance(lfs, dict): + digest = lfs.get("sha256") + if digest is None: + if remote.size > 10 * 1024**2: + raise ValueError( + f"Cannot verify remote weight digest: {repo_id}/{name}" + ) + digest = sha256( + hf_hub_download(repo_id, name, revision=info.sha, repo_type=repo_type) + ) + if digest != spec["sha256"]: + raise ValueError(f"Remote SHA-256 mismatch: {repo_id}/{name}") + return info.sha + + +def ensure_owned_repository(api, repo_id, folder, *, gated): + from huggingface_hub import hf_hub_download + + marker = {"project": PROJECT, "release": RELEASE} + if api.repo_exists(repo_id): + try: + existing = read_json(hf_hub_download(repo_id, "release-owner.json")) + except Exception as error: + raise RuntimeError( + f"Existing repository has no matching release marker: {repo_id}" + ) from error + if existing != marker: + raise RuntimeError(f"Refusing to modify unrelated repository: {repo_id}") + else: + api.create_repo(repo_id, private=True) + # Establish ownership immediately so an interrupted upload is resumable. + api.upload_file( + repo_id=repo_id, + path_in_repo="release-owner.json", + path_or_fileobj=(json.dumps(marker) + "\n").encode(), + commit_message=f"Initialize {RELEASE} release staging", + ) + write_json(folder / "release-owner.json", marker) + if gated: + api.update_repo_settings(repo_id, gated="manual") + + +def refresh_small_file(folder, name): + manifest = read_json(folder / "files.json") + file = folder / name + manifest["files"][name] = {"bytes": file.stat().st_size, "sha256": sha256(file)} + write_json(folder / "files.json", manifest) + + +def publish_component(api, component, folder): + repo_id = f"{PROJECT}-{component}" + if component != "examples" and not (folder / "model").is_dir(): + raise ValueError(f"Model files are not prepared for {component}") + if ( + component in ("q8", "q4") + and not (folder / "model/core/quantization.json").is_file() + ): + raise ValueError(f"Quantized export incomplete: {component}") + if ( + component == "packed12" + and len(list((folder / "model/core").glob("blocks.*.safetensors"))) != 50 + ): + raise ValueError("Expected all fifty packed blocks") + card = ( + (folder / "README.md") + .read_text() + .replace( + "**Preparation status:** this model repository is staged locally; publication\n" + "and immutable commit IDs are pending confirmation of redistribution rights.", + f"**Release:** {RELEASE}. Access requests are reviewed manually under the retained license.", + ) + .replace( + "**Preparation status:** staged locally; publication is pending confirmation\n" + "of redistribution rights.", + f"**Release:** {RELEASE}. Access requests are reviewed manually.", + ) + ) + (folder / "README.md").write_text(card) + refresh_small_file(folder, "README.md") + manifest = verify_local(folder) + ensure_owned_repository(api, repo_id, folder, gated=True) + api.upload_large_folder(repo_id, folder, repo_type="model", num_workers=4) + revision = verify_remote(api, repo_id, manifest) + api.create_tag(repo_id, tag=RELEASE, revision=revision, exist_ok=True) + if api.model_info(repo_id, revision=RELEASE).sha != revision: + raise ValueError(f"Existing release tag points at another commit: {repo_id}") + api.update_repo_settings(repo_id, gated="manual", private=False) + info = api.model_info(repo_id) + if info.private or info.gated != "manual": + raise RuntimeError(f"Unexpected publication/access state: {repo_id}") + return { + "repo_id": repo_id, + "revision": revision, + "gated": "manual", + "verified": True, + } + + +def finalize_main(api, output, state): + missing = [name for name in COMPONENTS if not state.get(name, {}).get("verified")] + if missing: + raise ValueError( + f"Publish and verify these components first: {', '.join(missing)}" + ) + from huggingface_hub import ModelCard + + catalog = read_json(ROOT / "h3_mlx/model_index.json") + catalog["status"] = "published" + catalog["shared"]["revision"] = state["shared"]["revision"] + for name in catalog["variants"]: + catalog["variants"][name]["revision"] = state[name]["revision"] + main_folder = output / PROJECT.split("/")[-1] + write_json(main_folder / "h3_mlx/model_index.json", catalog) + collection = api.create_collection( + "MiniMax H3 Image · Apple silicon / MLX", + namespace="devin-lai", + private=True, + description="Local image generation and editing. BF16, lossless packed BF16, Q8 and Q4; selective downloads, shared components and measured comparisons.", + exists_ok=True, + ) + readme = (main_folder / "README.md").read_text() + readme = readme.replace( + "The current preparation has **not yet been\npublished** while redistribution rights are clarified. The commands below are\nthe prepared release workflow.", + f"Release **{RELEASE}** is available with manual access review for model components.", + ) + if f"[Collection]({collection.url})" not in readme: + readme = readme.replace( + "[Repository map](MODEL_INDEX.md)", + f"[Collection]({collection.url}) · [Repository map](MODEL_INDEX.md)", + ) + for name in ("q8", "q4"): + files = read_json(output / f"MiniMax-H3-Image-mlx-{name}/files.json")["files"] + size = ( + sum( + spec["bytes"] + for path, spec in files.items() + if path.startswith("model/") + ) + / 1024**3 + ) + readme = readme.replace( + "About 20 GiB²" if name == "q8" else "About 11 GiB²", f"{size:.2f} GiB" + ) + readme = readme.replace( + " ² Estimates until the prepared export manifest is finalized.", "" + ) + readme = readme.replace( + " ² Q8 is an estimate until its export manifest is finalized.", "" + ) + (main_folder / "README.md").write_text(readme) + chinese = ( + (main_folder / "README.zh-CN.md") + .read_text() + .replace( + "**发布状态:目前仅本地准备,尚未上传。**", + f"**发布版本:{RELEASE},模型组件采用人工审核访问。**", + ) + .replace( + "在确认发布方具有所需权限之前暂停公开发布。", "使用前请确认具备所需权限。" + ) + ) + (main_folder / "README.zh-CN.md").write_text(chinese) + release_file = main_folder / "RELEASE.md" + release_notes = release_file.read_text() + if "" in release_notes: + release_notes = release_notes.replace( + "", f"[Browse the collection]({collection.url})." + ) + elif collection.url not in release_notes: + release_notes += f"\n[Browse the collection]({collection.url}).\n" + release_file.write_text(release_notes) + ModelCard.load(main_folder / "README.md").validate() + ensure_owned_repository(api, PROJECT, main_folder, gated=False) + from scripts.prepare_hf_release import manifest as build_manifest + + build_manifest(main_folder, {}) + main_manifest = read_json(main_folder / "files.json") + commit = api.upload_folder( + repo_id=PROJECT, + folder_path=main_folder, + commit_message=f"Release {RELEASE}: selective MLX model downloads", + ) + if verify_remote(api, PROJECT, main_manifest) != commit.oid: + raise RuntimeError("Main repository changed during publication verification") + api.create_tag(PROJECT, tag=RELEASE, revision=commit.oid, exist_ok=True) + if api.model_info(PROJECT, revision=RELEASE).sha != commit.oid: + raise ValueError("Main release tag points at another commit") + api.update_repo_settings(PROJECT, private=False) + notes = { + "main": "Start here: runtime, quick start, model selection, authentic outputs and measured results.", + "packed12": "Recommended exact storage choice: lossless BF16 packing, not quantization.", + "bf16": "Unchanged original transformer files: native BF16/FP32 storage control.", + "q8": "Smaller affine Q8 core; image changes and no established generation-speed advantage.", + "q4": "Smallest affine Q4 core; stronger detail and lettering changes.", + "shared": "VAE, native support, PDD heads, configurations and frozen six-step tables; reused across variants.", + "examples": "Generated examples and visual comparisons, with access review under the retained license.", + } + for name in ("main", "packed12", "bf16", "q8", "q4", "shared", "examples"): + repo_id = PROJECT if name == "main" else state[name]["repo_id"] + api.add_collection_item( + collection.slug, repo_id, "model", note=notes[name], exists_ok=True + ) + api.update_collection_metadata(collection.slug, private=False, position=0) + write_json(ROOT / "h3_mlx/model_index.json", catalog) + return { + "repo_id": PROJECT, + "revision": commit.oid, + "collection": collection.url, + "verified": True, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--output", type=Path, default=ROOT / ".release/huggingface") + parser.add_argument("--component", choices=(*COMPONENTS, "main"), required=True) + parser.add_argument( + "--rights-confirmed", + action="store_true", + help="Publisher has established the required redistribution rights", + ) + args = parser.parse_args() + if not args.rights_confirmed: + parser.error("Establish redistribution rights first; no Hub changes were made") + from huggingface_hub import HfApi + + api = HfApi() + if api.whoami()["name"] != "devin-lai": + raise RuntimeError("Expected the devin-lai publishing account") + state_path = args.output.resolve().parent / "publication.json" + state = read_json(state_path) if state_path.exists() else {} + if args.component == "main": + state["main"] = finalize_main(api, args.output.resolve(), state) + else: + folder = args.output / f"MiniMax-H3-Image-mlx-{args.component}" + state[args.component] = publish_component(api, args.component, folder) + write_json(state_path, state) + print(json.dumps(state[args.component], indent=2)) + + +if __name__ == "__main__": + main() diff --git a/tests/test_compilation.py b/tests/test_compilation.py new file mode 100644 index 0000000000000000000000000000000000000000..c85632803345d7ff5b98c473d586a8b69d473686 --- /dev/null +++ b/tests/test_compilation.py @@ -0,0 +1,63 @@ +import mlx.core as mx +import numpy as np + +from h3_mlx.config import DiTConfig +from h3_mlx.dit import DiTBlock +from h3_mlx.weights import WeightStore + + +def test_packed_block_cache_and_compiled_bf16_boundaries(tmp_path): + mx.random.seed(729) + c = DiTConfig( + hidden_size=32, num_attention_heads=2, attention_head_dim=16, ffn_hidden_size=64 + ) + tensors = {} + for name, shape in { + "norm1": (32,), + "norm2": (32,), + "attn.q_norm": (16,), + "attn.k_norm": (16,), + "attn.qkv_proj": (96, 32), + "attn.out_proj": (32, 32), + "mlp.fc1": (128, 32), + "mlp.fc2": (32, 64), + }.items(): + tensors[f"blocks.0.{name}.weight"] = (mx.random.normal(shape) * 0.02).astype( + mx.bfloat16 + ) + if len(shape) == 2: + tensors[f"blocks.0.{name}.bias"] = ( + mx.random.normal((shape[0],)) * 0.01 + ).astype(mx.bfloat16) + original = tmp_path / "original" + original.mkdir() + mx.save_safetensors(str(original / "model.safetensors"), tensors) + store = WeightStore(original) + native = DiTBlock(store, "blocks.0", c) + packed = DiTBlock(store, "blocks.0", c, packed_cache=tmp_path / "packed") + restored = DiTBlock(store, "blocks.0", c, packed_cache=tmp_path / "packed") + x = mx.random.normal((17, 32)).astype(mx.bfloat16) + params = tuple( + (mx.random.normal((3, 32)) * 0.1).astype(mx.bfloat16) for _ in range(6) + ) + ids = mx.arange(17) % 3 + expected = native(x, params=params, indices=ids, mlp_chunk=0) + state = tuple( + p.weight.state() + for p in (restored.qkv, restored.out, restored.fc1, restored.fc2) + ) + + def forward(x, params, ids, state): + return restored( + x, params=params, indices=ids, mlp_chunk=0, projection_weights=state + ) + + compiled = mx.compile(forward) + for actual in ( + packed(x, params=params, indices=ids, mlp_chunk=0), + restored(x, params=params, indices=ids, mlp_chunk=0), + compiled(x, params, ids, state), + ): + np.testing.assert_array_equal( + np.asarray(actual.view(mx.uint16)), np.asarray(expected.view(mx.uint16)) + ) diff --git a/tests/test_conversion.py b/tests/test_conversion.py new file mode 100644 index 0000000000000000000000000000000000000000..0ee2db08c83bdbacbda369715a932beba87512ad --- /dev/null +++ b/tests/test_conversion.py @@ -0,0 +1,57 @@ +import json + +import mlx.core as mx +import numpy as np +import pytest +import torch +from safetensors.torch import save_file + +from h3_mlx.convert import convert +from h3_mlx.weights import Linear, WeightStore + + +def test_quantized_shards_roundtrip_and_preserve_qkv_layout(tmp_path): + model = tmp_path / "original" + transformer = model / "transformer" + transformer.mkdir(parents=True) + config = { + "hidden_size": 128, + "num_layers": 1, + "token_refiner_num_layers": 0, + "num_attention_heads": 2, + "attention_head_dim": 128, + "ffn_hidden_size": 128, + "audio_enabled": False, + } + (transformer / "config.json").write_text(json.dumps(config)) + torch.manual_seed(77) + tensors = {} + for name in ( + "norm1.weight", + "norm2.weight", + "attn.q_norm.weight", + "attn.k_norm.weight", + ): + tensors["blocks.0." + name] = torch.randn(128).bfloat16() + for name, shape in ( + ("attn.qkv_proj", (768, 128)), + ("attn.out_proj", (128, 256)), + ("mlp.fc1", (256, 128)), + ("mlp.fc2", (128, 128)), + ): + tensors[f"blocks.0.{name}.weight"] = torch.randn(*shape).bfloat16() + save_file(tensors, str(transformer / "model.safetensors")) + output = tmp_path / "converted" + meta = convert(model, output, bits=8, group_size=64) + assert meta["format"] == "h3-mlx-core-v1" and len(meta["files"]) == 1 + original = WeightStore(transformer) + converted = WeightStore(output) + a = Linear.load(original, "blocks.0.attn.qkv_proj", bits=8, grouped_heads=(2, 128)) + b = Linear.load(converted, "blocks.0.attn.qkv_proj", grouped_heads=(2, 128)) + for x, y in ((a.weight, b.weight), (a.scales, b.scales), (a.qbiases, b.qbiases)): + np.testing.assert_array_equal( + np.asarray(x.view(mx.uint16) if x.dtype == mx.bfloat16 else x), + np.asarray(y.view(mx.uint16) if y.dtype == mx.bfloat16 else y), + ) + with pytest.raises(FileExistsError): + convert(model, output) diff --git a/tests/test_embedding_rows.py b/tests/test_embedding_rows.py new file mode 100644 index 0000000000000000000000000000000000000000..01152855beef40b5c467ab8094b6351e629834e6 --- /dev/null +++ b/tests/test_embedding_rows.py @@ -0,0 +1,39 @@ +import mlx.core as mx +import numpy as np +import pytest + +from h3_mlx.weights import WeightStore + + +@pytest.mark.parametrize("dtype", [mx.bfloat16, mx.float16, mx.float32]) +def test_selected_rows_preserve_order_duplicates_and_bypass_full_loader( + tmp_path, monkeypatch, dtype +): + values = mx.arange(128, dtype=mx.float32).reshape(16, 8).astype(dtype) + path = tmp_path / "embedding.safetensors" + mx.save_safetensors(str(path), {"embedding": values}) + ids = [15, 0, 3, 3, 1, 0] + reference = np.asarray(values.astype(mx.float32))[ids] + store = WeightStore(path, reader="mlx", cache_gb=1) + + def forbidden(*_args, **_kwargs): + raise AssertionError("Row reads must not materialize the vocabulary") + + monkeypatch.setattr(mx, "load", forbidden) + selected = store.get("embedding", rows=ids) + np.testing.assert_array_equal(np.asarray(selected.astype(mx.float32)), reference) + assert selected.dtype == dtype + assert not store.cache + assert store.bytes_read == len(ids) * 8 * values.itemsize + + +def test_selected_bf16_rows_preserve_payload_bits(tmp_path): + raw = mx.array( + [0, 0x8000, 0x7FC1, 0xFFFF, 1, 0x3F80, 0x7F80, 0xFF80], mx.uint16 + ).reshape(4, 2) + path = tmp_path / "payload.safetensors" + mx.save_safetensors(str(path), {"embedding": raw.view(mx.bfloat16)}) + selected = WeightStore(path).get("embedding", rows=[3, 0, 1, 1]) + np.testing.assert_array_equal( + np.asarray(selected.view(mx.uint16)), np.asarray(raw)[[3, 0, 1, 1]] + ) diff --git a/tests/test_hub.py b/tests/test_hub.py new file mode 100644 index 0000000000000000000000000000000000000000..577d8fde5a410abfc28f28a80d7bfe0af94c7f94 --- /dev/null +++ b/tests/test_hub.py @@ -0,0 +1,221 @@ +import json +from pathlib import Path + +import pytest + +from h3_mlx import hub +from h3_mlx.config import SIGMAS + + +@pytest.mark.parametrize( + "name", ["/absolute", "../escape", "a/../b", "a//b", "a\\b", ""] +) +def test_manifest_paths_cannot_escape_assembly(name): + with pytest.raises(ValueError): + hub.relative_path(name) + + +def test_prepared_catalog_does_not_attempt_downloads(tmp_path, monkeypatch): + import huggingface_hub + + def forbidden(*args, **kwargs): + pytest.fail("Prepared releases must not attempt network access") + + monkeypatch.setattr(huggingface_hub, "snapshot_download", forbidden) + catalog = tmp_path / "prepared-catalog.json" + catalog.write_text( + json.dumps( + { + "format": "h3-mlx-catalog-v1", + "status": "prepared", + "variants": {"packed12": {}}, + } + ) + ) + with pytest.raises(RuntimeError, match="publication is pending"): + hub.download_variant("packed12", tmp_path / "model", catalog_path=catalog) + + +def test_selective_assembly_reuses_shared_files_and_protects_existing_models( + tmp_path, monkeypatch +): + import huggingface_hub + + entries = { + "shared": {"repo_id": "owner/shared", "revision": "a" * 40}, + "q4": { + "repo_id": "owner/q4", + "revision": "b" * 40, + "core_format": "quantized", + "bits": 4, + }, + "q8": { + "repo_id": "owner/q8", + "revision": "c" * 40, + "core_format": "quantized", + "bits": 8, + }, + } + snapshots = {} + for name, entry in entries.items(): + snapshot = tmp_path / name + file = snapshot / ( + "model/vae/decoder.safetensors" + if name == "shared" + else "model/core/core-000.safetensors" + ) + file.parent.mkdir(parents=True) + file.write_bytes(name.encode()) + (snapshot / "LICENSE").write_text("retained license") + files = { + p.relative_to(snapshot).as_posix(): { + "bytes": p.stat().st_size, + "sha256": hub.sha256(p), + } + for p in (file, snapshot / "LICENSE") + } + (snapshot / "files.json").write_text( + json.dumps({"format": "h3-mlx-files-v1", "files": files}) + ) + snapshots[entry["repo_id"]] = snapshot + catalog = tmp_path / "catalog.json" + catalog.write_text( + json.dumps( + { + "format": "h3-mlx-catalog-v1", + "status": "published", + "source": {}, + "sigmas": SIGMAS, + "shared": entries["shared"], + "variants": {name: entries[name] for name in ("q4", "q8")}, + } + ) + ) + calls = [] + + def get_file(repo, filename, **kwargs): + calls.append((repo, filename, kwargs)) + return str(snapshots[repo] / filename) + + def snapshot(repo, **kwargs): + calls.append((repo, "snapshot", kwargs)) + return str(snapshots[repo]) + + monkeypatch.setattr(huggingface_hub, "hf_hub_download", get_file) + monkeypatch.setattr(huggingface_hub, "snapshot_download", snapshot) + first = hub.download_variant( + "q4", + tmp_path / "model-q4", + catalog_path=catalog, + skip_encoder=True, + verify=True, + ) + assert {call[0] for call in calls} == {"owner/shared", "owner/q4"} + assert Path(first["model_path"], "core/core-000.safetensors").read_bytes() == b"q4" + assert Path(first["model_path"], "licenses/shared/LICENSE").is_file() + assert hub.load_release(first["model_path"])["bits"] == 4 + calls.clear() + hub.download_variant( + "q8", tmp_path / "model-q8", catalog_path=catalog, skip_encoder=True + ) + assert (tmp_path / "model-q4/vae/decoder.safetensors").resolve() == ( + tmp_path / "model-q8/vae/decoder.safetensors" + ).resolve() + with pytest.raises(FileExistsError, match="separate empty"): + hub.download_variant( + "q8", tmp_path / "model-q4", catalog_path=catalog, skip_encoder=True + ) + (tmp_path / "q4/model/core/core-000.safetensors").write_bytes(b"XX") + with pytest.raises(ValueError, match="SHA-256 mismatch"): + hub.download_variant( + "q4", + tmp_path / "model-q4", + catalog_path=catalog, + skip_encoder=True, + verify=True, + ) + + +def test_unpinned_revisions_are_rejected_before_network_access(): + with pytest.raises(ValueError, match="immutable"): + hub._manifest_snapshot({"repo_id": "owner/model", "revision": "main"}) + + +def test_link_cannot_replace_an_unrelated_file(tmp_path): + source, destination = tmp_path / "source", tmp_path / "destination" + source.write_bytes(b"new") + destination.write_bytes(b"old") + with pytest.raises(FileExistsError): + hub._link(source, destination) + assert destination.read_bytes() == b"old" + + +def test_frozen_modulation_requires_its_schedule_and_precision(monkeypatch): + monkeypatch.setattr(hub.importlib.metadata, "version", lambda name: "0.32.4") + monkeypatch.setenv("MLX_ENABLE_TF32", "0") + release = {"sigmas": list(SIGMAS), "modulation_mlx": "0.32.4"} + hub.validate_modulation(release, SIGMAS) + with pytest.raises(ValueError, match="schedule"): + hub.validate_modulation(release, (1, 0)) + monkeypatch.setenv("MLX_ENABLE_TF32", "1") + with pytest.raises(ValueError, match="MLX_ENABLE_TF32"): + hub.validate_modulation(release, SIGMAS) + + +def test_quantized_release_moves_without_original_checkpoint(tmp_path): + import hashlib + import shutil + + import mlx.core as mx + + from h3_mlx.config import DiTConfig + from h3_mlx.dit import DiT + + model = tmp_path / "assembled" + transformer = model / "transformer" + core = model / "core" + transformer.mkdir(parents=True) + core.mkdir() + config = json.dumps( + vars(DiTConfig(hidden_size=32, text_dim=24, token_refiner_num_layers=0)) + ) + (transformer / "config.json").write_text(config) + mx.save_safetensors( + str(transformer / "support.safetensors"), {"native": mx.ones(1)} + ) + mx.save_safetensors(str(core / "core-000.safetensors"), {"quantized": mx.ones(1)}) + mx.save_safetensors( + str(model / "pdd_fused_heads.safetensors"), {"head": mx.ones(1)} + ) + (core / "quantization.json").write_text( + json.dumps( + { + "format": "h3-mlx-core-v1", + "bits": 4, + "group_size": 64, + "source_config_sha256": hashlib.sha256(config.encode()).hexdigest(), + "source_fingerprint": "original-path-dependent-fingerprint-is-not-used", + } + ) + ) + (model / "release.json").write_text( + json.dumps( + { + "format": "h3-mlx-release-v1", + "core_format": "quantized", + "bits": 4, + "group_size": 64, + } + ) + ) + moved = tmp_path / "another-machine" + shutil.move(str(model), moved) + loaded = DiT(moved, cache_dir=tmp_path / "cache") + assert loaded.bits == 4 and loaded.core_store.path == moved / "core" + with pytest.raises(ValueError, match="already select"): + DiT(moved, bits=8) + metadata = hub.read_json(moved / "core/quantization.json") + metadata["source_config_sha256"] = "wrong" + (moved / "core/quantization.json").write_text(json.dumps(metadata)) + with pytest.raises(ValueError, match="mismatch"): + DiT(moved) diff --git a/tests/test_numerics.py b/tests/test_numerics.py new file mode 100644 index 0000000000000000000000000000000000000000..940169dffc5a154dc46c6039a07713957c50620c --- /dev/null +++ b/tests/test_numerics.py @@ -0,0 +1,177 @@ +import json + +import mlx.core as mx +import numpy as np +import pytest +import torch +import torch.nn.functional as F + +from h3_mlx.config import canvas_size, load_sigmas +from h3_mlx.layout import image_positions, patchify, unpatchify +from h3_mlx.ops import attention, layer_norm, modulate, rms_norm, rotate, silu +from h3_mlx.weights import Linear, WeightStore + + +def array(t): + return mx.array(t.float().numpy()).astype( + mx.bfloat16 if t.dtype == torch.bfloat16 else mx.float32 + ) + + +def numpy(x): + return np.asarray(x.astype(mx.float32)) + + +def assert_bf16_near(actual, expected, *, equality=0.9999): + a, b = numpy(actual), expected.float().numpy() + # CPU/Metal reduction orders may cross a BF16 rounding midpoint. Require + # one ULP at most, while detecting the much larger wrong-arithmetic case. + aa = np.asarray(actual.view(mx.uint16)).astype(np.int32) + bb = expected.view(torch.int16).numpy().view(np.uint16).astype(np.int32) + assert np.max(abs(aa - bb)) <= 1 + assert np.mean(a == b) >= equality + + +@pytest.mark.parametrize("width", [128, 5376]) +def test_distinct_aten_and_qwen_rms_rounding(width): + gen = torch.Generator().manual_seed(9) + x = torch.randn(17, width, generator=gen).bfloat16() + w = torch.randn(width, generator=gen).bfloat16() + aten = F.rms_norm(x, (width,), w, 1e-5) + qwen = ( + x.float() * torch.rsqrt(x.float().square().mean(-1, keepdim=True) + 1e-5) + ).bfloat16() * w + assert_bf16_near(rms_norm(array(x), array(w)), aten) + assert_bf16_near(rms_norm(array(x), array(w), rounded=True), qwen) + assert not torch.equal(aten, qwen) + + +def test_bf16_bias_epilogue_and_silu(): + torch.manual_seed(21) + x, w, b = ( + torch.randn(13, 128).bfloat16(), + torch.randn(256, 128).bfloat16(), + torch.randn(256).bfloat16(), + ) + layer = Linear(array(w), array(b)) + assert_bf16_near(layer(array(x)), F.linear(x, w, b), equality=0.998) + np.testing.assert_array_equal(numpy(silu(array(x))), F.silu(x).float().numpy()) + + +def test_attention_dense_gqa_and_causal_chunks(): + torch.manual_seed(8) + q, k, v = ( + torch.randn(1, 37, 8, 128), + torch.randn(1, 37, 2, 128), + torch.randn(1, 37, 2, 128), + ) + ref = F.scaled_dot_product_attention( + q.transpose(1, 2), + k.transpose(1, 2), + v.transpose(1, 2), + is_causal=True, + enable_gqa=True, + ).transpose(1, 2) + for chunk in (0, 11): + out = attention(array(q), array(k), array(v), causal=True, query_chunk=chunk) + np.testing.assert_allclose(numpy(out), ref.numpy(), atol=2e-6, rtol=2e-5) + + +def test_rotary_keeps_passthrough_and_bf16_products(): + torch.manual_seed(41) + x = torch.randn(1, 17, 3, 128).bfloat16() + angles = torch.randn(1, 17, 1, 48) + angles = torch.cat((angles, angles), dim=-1) + cos, sin = angles.cos().bfloat16(), angles.sin().bfloat16() + a = x[..., :96] + ref = torch.cat( + (a * cos + torch.cat((-a[..., 48:], a[..., :48]), -1) * sin, x[..., 96:]), -1 + ) + np.testing.assert_array_equal( + numpy(rotate(array(x), array(cos), array(sin))), ref.float().numpy() + ) + + +def test_layer_norm_affine_does_not_round_normalized_input(): + torch.manual_seed(98) + x = torch.randn(17, 1024).bfloat16() + w, b = torch.randn(1024).bfloat16(), torch.randn(1024).bfloat16() + ref = F.layer_norm(x, (1024,), w, b, 1e-5) + assert_bf16_near(layer_norm(array(x), array(w), array(b)), ref, equality=0.999) + + +def test_safetensors_bf16_bit_loading_and_grouped_qkv(tmp_path): + from safetensors.torch import save_file + + tensor = torch.arange(2 * 3 * 4 * 8, dtype=torch.float32).reshape(24, 8).bfloat16() + save_file({"qkv.weight": tensor}, str(tmp_path / "test.safetensors")) + store = WeightStore(tmp_path) + np.testing.assert_array_equal( + numpy(store.get("qkv.weight")), tensor.float().numpy() + ) + layer = Linear.load(store, "qkv", grouped_heads=(2, 4)) + ref = tensor.reshape(2, 3, 4, 8).permute(1, 0, 2, 3).reshape(24, 8) + np.testing.assert_array_equal(numpy(layer.weight), ref.float().numpy()) + store.clear() + + +def test_patch_order_matches_native_einsum(): + x = torch.arange(24 * 8 * 10, dtype=torch.float32).reshape(1, 24, 8, 10) + ref = torch.einsum("nchpwq->nhwcpq", x.reshape(1, 24, 4, 2, 5, 2)).reshape(-1, 96) + rows = patchify(array(x)) + np.testing.assert_array_equal(numpy(rows), ref.numpy()) + np.testing.assert_array_equal(numpy(unpatchify(rows, 8, 10)), x.numpy()) + + +def test_positions_are_native_ref2va_grid(): + out = numpy(image_positions(7, 8, 12, [(4, 6)])) + assert out.shape == (7 + 6 + 24, 3) + np.testing.assert_array_equal(out[:7, 0], np.arange(7)) + np.testing.assert_array_equal(out[7:13, 0], 7) + np.testing.assert_array_equal(out[13:, 0], 8) + np.testing.assert_allclose(out[13:, 1].min(), (1 - 8 / np.sqrt(96)) * 16, rtol=1e-6) + + +def test_native_schedule_and_canvas_validation(tmp_path): + assert canvas_size(1024, 1024) == (2048, 2048) + assert canvas_size(512, 768, 1024) == (512, 768) + for width, height in [(0, 2048), (512, 0), (-1, 32)]: + with pytest.raises(ValueError): + canvas_size(width, height) + (tmp_path / "pdd_config.json").write_text(json.dumps({"sigmas": [1, 0.5, 0]})) + with pytest.raises(ValueError, match="six-step"): + load_sigmas(tmp_path) + + +@pytest.mark.parametrize("threads", [128, 256, 512]) +def test_metal_modulation_with_odd_row_count(threads): + from h3_mlx.kernels import norm_modulate + + mx.random.seed(71) + x = mx.random.normal((65, 5376)).astype(mx.bfloat16) + w = mx.random.normal((5376,)).astype(mx.bfloat16) + s = (mx.random.normal((3, 5376)) * 0.1).astype(mx.bfloat16) + ids = mx.arange(65) % 3 + ref = modulate(x, w, s, s, ids) + out = norm_modulate(x, w, s, s, ids, threads=threads) + a, b = numpy(ref), numpy(out) + # Different parallel reduction orders are allowed only within one BF16 ULP. + assert np.sqrt(np.mean((a - b) ** 2) / (np.mean(a * a) + 1e-20)) < 1e-4 + assert np.mean(a == b) > 0.9999 + + +def test_fused_qk_norm_rope_layout_and_rounding(): + from h3_mlx.kernels import qk_norm_rope + + mx.random.seed(33) + qkv = mx.random.normal((67, 3, 7, 128)).astype(mx.bfloat16) + w = mx.random.normal((128,)).astype(mx.bfloat16) + angles = mx.random.normal((1, 67, 1, 48)) + angles = mx.concatenate((angles, angles), axis=-1) + cos, sin = mx.cos(angles).astype(mx.bfloat16), mx.sin(angles).astype(mx.bfloat16) + actual = qk_norm_rope(qkv, w, w, cos, sin) + for i, out in enumerate(actual): + ref = rotate(rms_norm(qkv[None, :, i], w), cos, sin) + a, b = numpy(ref), numpy(out) + assert np.sqrt(np.mean((a - b) ** 2) / (np.mean(a * a) + 1e-20)) < 1e-4 + assert np.mean(a == b) > 0.9999 diff --git a/tests/test_packed.py b/tests/test_packed.py new file mode 100644 index 0000000000000000000000000000000000000000..c307cec5c834e2b1dc78a4add7addadd7cc1d096 --- /dev/null +++ b/tests/test_packed.py @@ -0,0 +1,43 @@ +import mlx.core as mx +import numpy as np + +from h3_mlx.packed import PackedBF16, PackedLinear +from h3_mlx.weights import Linear + + +def test_palette12_preserves_all_bf16_bit_patterns(): + # Includes signs, subnormals, signed zero, Inf and every NaN payload. + raw = mx.arange(65536, dtype=mx.uint16) + packed = PackedBF16.pack(raw.view(mx.bfloat16)) + np.testing.assert_array_equal( + np.asarray(packed.unpack().view(mx.uint16)), np.asarray(raw) + ) + + +def test_palette12_odd_length_zero_and_wide_exponents(): + for raw in ( + [0, 0, 0], + [0, 0x8000, 1, 0x8001, 0x3F80, 0x7F80, 0xFFFF], + [0x3800, 0x3B01, 0xBAFF, 0x0080, 0x8000], + ): + x = mx.array(raw, mx.uint16) + packed = PackedBF16.pack(x.view(mx.bfloat16)) + np.testing.assert_array_equal(np.asarray(packed.unpack().view(mx.uint16)), raw) + + +def test_palette12_realistic_linear_is_exact_and_smaller(): + mx.random.seed(731) + w = (mx.random.normal((256, 512)) * 0.02).astype(mx.bfloat16) + b = mx.random.normal((256,)).astype(mx.bfloat16) + x = mx.random.normal((71, 512)).astype(mx.bfloat16) + original = Linear(w, b) + packed = PackedLinear.from_linear(original) + assert packed.nbytes < original.nbytes * 0.76 + np.testing.assert_array_equal( + np.asarray(packed(x).view(mx.uint16)), np.asarray(original(x).view(mx.uint16)) + ) + tensors = packed.weight.tensors("weight") + restored = PackedBF16.from_tensors(tensors, "weight", w.shape) + np.testing.assert_array_equal( + np.asarray(restored.unpack().view(mx.uint16)), np.asarray(w.view(mx.uint16)) + ) diff --git a/tests/test_refiner_cache.py b/tests/test_refiner_cache.py new file mode 100644 index 0000000000000000000000000000000000000000..90dd766f46ef40fea0585a5fed7abc28209cc3fb --- /dev/null +++ b/tests/test_refiner_cache.py @@ -0,0 +1,44 @@ +import json + +import mlx.core as mx +import numpy as np + +from h3_mlx.config import DiTConfig +from h3_mlx.dit import DiT + + +def test_refined_conditioning_cache_is_exact_and_input_specific(tmp_path): + model_path = tmp_path / "model" + transformer = model_path / "transformer" + transformer.mkdir(parents=True) + cfg = DiTConfig(hidden_size=32, text_dim=24, token_refiner_num_layers=0) + (transformer / "config.json").write_text(json.dumps(vars(cfg))) + mx.random.seed(732) + weights = { + "condition_proj.weight": (mx.random.normal((32, 24)) * 0.1).astype(mx.bfloat16), + "condition_proj.bias": mx.zeros(32, mx.bfloat16), + "token_refiner.final_norm.weight": mx.ones(32, mx.bfloat16), + } + mx.save_safetensors(str(transformer / "model.safetensors"), weights) + mx.save_safetensors( + str(model_path / "pdd_fused_heads.safetensors"), {"unused": mx.zeros(1)} + ) + model = DiT(model_path, cache_dir=tmp_path / "cache") + text = mx.random.normal((17, 24)).astype(mx.bfloat16) + first = model.refine(text) + assert not model.refiner_cache_hit + second = model.refine(text) + assert model.refiner_cache_hit + np.testing.assert_array_equal( + np.asarray(first.view(mx.uint16)), np.asarray(second.view(mx.uint16)) + ) + model.refine(text + mx.array(1, mx.bfloat16)) + assert not model.refiner_cache_hit + assert len(list((tmp_path / "cache").glob("refined-*.safetensors"))) == 2 + model.cache_refined_text = False + direct = model.refine(text) + assert not model.refiner_cache_hit + np.testing.assert_array_equal( + np.asarray(first.view(mx.uint16)), np.asarray(direct.view(mx.uint16)) + ) + model.clear() diff --git a/tests/test_release_guards.py b/tests/test_release_guards.py new file mode 100644 index 0000000000000000000000000000000000000000..e618d3db9fa23f7a0118bd5e9593d72b3ac18592 --- /dev/null +++ b/tests/test_release_guards.py @@ -0,0 +1,48 @@ +import json + +import pytest + +from h3_mlx.hub import sha256 +from scripts.publish_hf_release import publish_component, verify_local + + +def test_partial_quantized_export_cannot_be_published(tmp_path): + core = tmp_path / "model/core" + core.mkdir(parents=True) + file = core / "quantization.json" + file.write_text( + json.dumps( + { + "files": [ + { + "file": f"core-{i:03d}.safetensors", + "bytes": 1, + "sha256": "a" * 64, + } + for i in range(52) + ] + } + ) + ) + (tmp_path / "files.json").write_text( + json.dumps( + { + "format": "h3-mlx-files-v1", + "files": { + "model/core/quantization.json": { + "bytes": file.stat().st_size, + "sha256": sha256(file), + }, + }, + } + ) + ) + with pytest.raises(ValueError, match="export/manifest mismatch"): + verify_local(tmp_path) + + +def test_partial_packed_export_cannot_create_or_modify_a_repository(tmp_path): + (tmp_path / "model/core").mkdir(parents=True) + # No API method exists: an attempted remote mutation would fail this test. + with pytest.raises(ValueError, match="fifty packed blocks"): + publish_component(object(), "packed12", tmp_path) diff --git a/tests/test_runtime_guard.py b/tests/test_runtime_guard.py new file mode 100644 index 0000000000000000000000000000000000000000..c0f86a808c6075f16acce7a661854767b2e0e416 --- /dev/null +++ b/tests/test_runtime_guard.py @@ -0,0 +1,48 @@ +import json +from types import SimpleNamespace + +import mlx.core as mx +import pytest + +from h3_mlx.config import SIGMAS +from h3_mlx.runtime import Pipeline + + +def test_nonfinite_prediction_is_rejected_before_image_write(tmp_path, monkeypatch): + from h3_mlx import encoder + + class FakeEncoder: + def __init__(self, *args, **kwargs): + self.cache_hit = True + self.store = SimpleNamespace(clear=lambda: None) + + def encode(self, *args, **kwargs): + return mx.zeros((1, 5120), mx.bfloat16), mx.ones(1, mx.int32) + + class BadModel: + bits = None + group_size = 64 + block_limit = 0 + store = SimpleNamespace(fingerprint=lambda: "test") + metrics = {} + refiner_cache_hit = False + + def prepare_modulation(self, *args, **kwargs): + pass + + def refine(self, x): + return x + + def predict(self, rows, *args, **kwargs): + return mx.full(rows.shape, float("nan")) + + monkeypatch.setattr(encoder, "TextEncoder", FakeEncoder) + (tmp_path / "pdd_config.json").write_text(json.dumps({"sigmas": SIGMAS})) + pipe = Pipeline(tmp_path, tmp_path) + pipe.model = BadModel() + output = tmp_path / "invalid.png" + with pytest.raises(FloatingPointError, match="original head 0"): + pipe.generate( + "test", width=32, height=32, min_area=1024, rng="mlx", output=output + ) + assert not output.exists() diff --git a/tests/test_tuning.py b/tests/test_tuning.py new file mode 100644 index 0000000000000000000000000000000000000000..3d53ad494930210d77a38478492b688d4035cf16 --- /dev/null +++ b/tests/test_tuning.py @@ -0,0 +1,76 @@ +import mlx.core as mx +import numpy as np +import pytest + +from h3_mlx.ops import modulate, rms_norm, rotate +from h3_mlx.tuning import ( + TunedFC2, + _gemm, + norm_modulate_exact, + qk_norm_rope_exact, + supported_device, +) +from h3_mlx.weights import Linear + + +@pytest.mark.parametrize("magnitude", [0.001, 1.0, 10000.0]) +@pytest.mark.parametrize("rope_dtype", [mx.bfloat16, mx.float32]) +@pytest.mark.skipif( + not supported_device(), reason="Pinned M5 Pro/MLX kernel validation" +) +def test_qk_fusion_preserves_native_reduction_and_rope_bits(magnitude, rope_dtype): + mx.random.seed(8192) + qkv = (mx.random.normal((37, 3, 3, 128)) * magnitude).astype(mx.bfloat16) + qw = mx.random.normal((128,)).astype(mx.bfloat16) + kw = mx.random.normal((128,)).astype(mx.bfloat16) + angles = mx.random.normal((1, 37, 1, 48)) + angles = mx.concatenate((angles, angles), axis=-1) + cosine = mx.cos(angles).astype(rope_dtype) + sine = mx.sin(angles).astype(rope_dtype) + reference = tuple( + rotate(rms_norm(qkv[None, :, i], w), cosine, sine) + for i, w in ((0, qw), (1, kw)) + ) + result = qk_norm_rope_exact(qkv, qw, kw, cosine, sine) + for expected, actual in zip(reference, result, strict=True): + np.testing.assert_array_equal( + np.asarray(actual.view(mx.uint16)), np.asarray(expected.view(mx.uint16)) + ) + + +@pytest.mark.skipif(not supported_device(), reason="Metal 4 M5 kernel validation") +def test_mpp_fp32_bias_epilogue_and_partial_m_tile(): + mx.random.seed(4352) + x = (mx.random.normal((71, 512)) * 32).astype(mx.bfloat16) + weight = (mx.random.normal((256, 512)) * 0.02).astype(mx.bfloat16) + bias = mx.random.normal((256,)).astype(mx.bfloat16) + expected = mx.addmm(bias, x, weight.T) + actual = _gemm(x, weight, bias, 64, 128, 128, 4, 8) + np.testing.assert_array_equal( + np.asarray(actual.view(mx.uint16)), np.asarray(expected.view(mx.uint16)) + ) + + +def test_tuned_fc2_keeps_native_fallback_for_unsupported_shapes(): + mx.random.seed(71) + layer = Linear(mx.random.normal((32, 64)).astype(mx.bfloat16)) + x = mx.random.normal((17, 64)).astype(mx.bfloat16) + tuned = TunedFC2(layer) + np.testing.assert_array_equal( + np.asarray(tuned(x).view(mx.uint16)), np.asarray(layer(x).view(mx.uint16)) + ) + + +@pytest.mark.skipif(not supported_device(), reason="Pinned M5 Pro reduction layout") +def test_full_width_norm_fusion_matches_native_loop_and_bf16_boundaries(): + mx.random.seed(5376) + x = (mx.random.normal((13, 5376)) * 256).astype(mx.bfloat16) + weight = mx.random.normal((5376,)).astype(mx.bfloat16) + shift = mx.random.normal((6, 5376)).astype(mx.bfloat16) + scale = (mx.random.normal((6, 5376)) * 0.1).astype(mx.bfloat16) + indices = mx.arange(13, dtype=mx.int32) % 6 + expected = modulate(x, weight, shift, scale, indices) + actual = norm_modulate_exact(x, weight, shift, scale, indices) + np.testing.assert_array_equal( + np.asarray(actual.view(mx.uint16)), np.asarray(expected.view(mx.uint16)) + ) diff --git a/tests/test_vae_compare.py b/tests/test_vae_compare.py new file mode 100644 index 0000000000000000000000000000000000000000..b3965940707ce4a5257610d7e30b9ed014d319f8 --- /dev/null +++ b/tests/test_vae_compare.py @@ -0,0 +1,88 @@ +import hashlib +import json + +import mlx.core as mx +import numpy as np +import pytest +import torch +from PIL import Image + +from h3_mlx.compare import make_comparison +from h3_mlx.reference import reflect_pad +from h3_mlx.vae import assemble_tiles, split_tiles, to_image + + +def test_tiling_native_overlap_and_coverage(): + for length in (32, 256, 512, 1024, 2048, 4096): + starts, lens, overlaps = split_tiles(length) + assert starts[0] == 0 and starts[-1] + lens[-1] == length + assert sum(lens) - sum(overlaps) == length + assert all(v % 16 == 0 for v in overlaps) + assert split_tiles(512) == ([0, 128, 256], [256] * 3, [128, 128]) + + +def test_native_vertical_then_horizontal_overlap_blending(): + rows = [ + [mx.full((1, 1, 4, 4), i * 2 + j, mx.float32) for j in range(2)] + for i in range(2) + ] + out = np.asarray(assemble_tiles(rows, [2], [2]))[0, 0] + # Hand-computed native blend: row 1/col 1 at its first overlap pixel + # inherits the original tile above, then the original tile to its left. + assert out.shape == (6, 6) + assert out[0, 0] == 0 and out[-1, -1] == 3 + assert out[2, 2] == 2 # horizontal blend takes the unblended left source + assert out[3, 3] == 2 + + +def test_reflection_pad_matches_pytorch(): + x = torch.arange(2 * 3 * 4 * 2, dtype=torch.float32).reshape(2, 3, 4, 2) + out = reflect_pad(mx.array(x.numpy()), 1, 1, 1, 1) + ref = torch.nn.functional.pad( + x.permute(0, 3, 1, 2), (1, 1, 1, 1), mode="reflect" + ).permute(0, 2, 3, 1) + np.testing.assert_array_equal(np.asarray(out), ref.numpy()) + + +def test_comparison_rejects_mismatched_seed_and_retains_native_crops(tmp_path): + a = tmp_path / "ref.png" + b = tmp_path / "candidate.png" + Image.new("RGB", (64, 64), (50, 70, 90)).save(a) + Image.new("RGB", (64, 64), (51, 70, 90)).save(b) + metadata = { + "prompt": "test", + "seed": 7, + "size": [64, 64], + "canvas": [64, 64], + "rng": "torch", + "reference_images": [], + } + a.with_suffix(".json").write_text(json.dumps(metadata)) + b.with_suffix(".json").write_text(json.dumps({**metadata, "seed": 8})) + with pytest.raises(ValueError, match="seed"): + make_comparison(a, [b], tmp_path / "bad") + b.with_suffix(".json").write_text(json.dumps(metadata)) + result = make_comparison(a, [b], tmp_path / "report", crop=(1, 2, 33, 34)) + assert result["crop_xyxy"] == [1, 2, 33, 34] + assert result["rows"][1]["mae_8bit"] == pytest.approx(1 / 3) + assert (tmp_path / "report/stack.png").exists() + assert (tmp_path / "report/grid.png").exists() + a.with_suffix(".trace.safetensors").write_bytes(b"reference latent") + decoder = { + **metadata, + "validation_scope": "Same final latent; decoder only", + "source_trace_sha256": "different latent", + } + b.with_suffix(".json").write_text(json.dumps(decoder)) + with pytest.raises(ValueError, match="final latent"): + make_comparison(a, [b], tmp_path / "wrong-latent") + decoder["source_trace_sha256"] = hashlib.sha256(b"reference latent").hexdigest() + b.with_suffix(".json").write_text(json.dumps(decoder)) + verified = make_comparison(a, [b], tmp_path / "decoder") + assert "decoder-only" in verified["validation_scope"] + + +def test_output_quantization_truncates_like_native_writer(): + x = mx.array([[[[0.5, 0.501]], [[0.25, 0.251]], [[0.75, 0.751]]]]) + image = to_image(x, 2, 1) + np.testing.assert_array_equal(np.asarray(image), [[[127, 63, 191], [127, 64, 191]]])