{"id":4574,"date":"2026-11-11T11:34:15","date_gmt":"2026-11-11T16:34:15","guid":{"rendered":"https:\/\/blogs.mathworks.com\/matlab\/?p=4574"},"modified":"2026-11-11T11:34:15","modified_gmt":"2026-11-11T16:34:15","slug":"running-matlab-natively-on-raspberry-pi-and-dgx-spark-matlab-on-linux-arm-is-now-in-open-beta","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/matlab\/2026\/11\/11\/running-matlab-natively-on-raspberry-pi-and-dgx-spark-matlab-on-linux-arm-is-now-in-open-beta\/","title":{"rendered":"Running MATLAB natively on Raspberry Pi and DGX Spark: MATLAB on Linux ARM is now in open beta"},"content":{"rendered":"<div class = rtcContent><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold;'>TL;DR:<\/span><span class=\"_richTextNode\"> MATLAB on Linux ARM is now available as an open beta. Details at <\/span><a href = \"https:\/\/www.mathworks.com\/help\/cloudcenter\/ug\/matlab-on-linux-arm.html\" target=\"_self\"><span class=\"_richTextNode\">https:\/\/www.mathworks.com\/help\/cloudcenter\/ug\/matlab-on-linux-arm.html<\/span><\/a><span class=\"_richTextNode\"> <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">At the beginning of this year I published an article about <\/span><a href = \"https:\/\/blogs.mathworks.com\/matlab\/2026\/01\/05\/running-large-language-models-on-the-nvidia-dgx-spark-and-connecting-to-them-in-matlab\/\" target=\"_self\"><span class=\"_richTextNode\">Running Large Language Models on the NVIDIA DGX Spark and connecting to them in MATLAB<\/span><\/a><span class=\"_richTextNode\"> that included the picture below. Some people objected to the fact that we had put a MathWorks sticker on the DGX Spark because we didn't have a native ARM version of MATLAB available. The truth was, we did! It just wasn't openly available at the time.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/11\/MATLABonARM_1.png\" width = \"506\" height = \"285\" alt = \"An NVIDIA DGX Spark with a MATLAB Sticker on top.\" style = \"vertical-align: baseline; width: 506px; height: 285px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">At SC25, we had a demonstration of MATLAB running on a DGX Spark at the MathWorks booth and were actively scouting for participants in a closed beta. Several organizations signed up and gave us some great early feedback. Here's a picture of me talking about it to an SC attendee that I published as part of <\/span><a href = \"https:\/\/lnkd.in\/p\/e-A3tiQc\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">my LinkedIn post discussing our attendance at the event<\/span><\/a><span class=\"_richTextNode\"> where you can see a MATLAB-generated fractal on what is clearly a DGX-Spark. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/11\/MATLABonARM_2.png\" width = \"503\" height = \"670\" alt = \"Mike Croucher demonstrating MATLAB running on a DGX Spark at SC25\" style = \"vertical-align: baseline; width: 503px; height: 670px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">At that stage we were looking for users who <\/span><span class=\"_richTextNode\" style=' font-weight: bold;'>really<\/span><span class=\"_richTextNode\"> wanted MATLAB on ARM and were willing to deal with all kinds of broken edges in order to get it. The first versions were command-line only. There were no graphics, no desktop and certainly no Simulink. <\/span><\/div><h2  style = 'margin: 10px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">MATLAB<\/span><span class=\"_richTextNode\"> on <\/span><span class=\"_richTextNode\">Linux<\/span><span class=\"_richTextNode\"> <\/span><span class=\"_richTextNode\">ARM<\/span><span class=\"_richTextNode\"> (Beta) is now available to everyone <\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">I am beyond happy to be able to tell you that the ARM Linux build is now much further along and is <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/cloudcenter\/ug\/matlab-on-linux-arm.html\" target=\"_self\"><span class=\"_richTextNode\">available to everyone as an open beta<\/span><\/a><span class=\"_richTextNode\">. This includes MATLAB R2026b Update 1 and the following products:<\/span><\/div><ul  style = 'margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-size: 14px; '><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Simulink<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">MATLAB Parallel Server<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Parallel Computing Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Control System Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Curve Fitting Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Optimization Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Symbolic Math Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Image Processing Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Signal Processing Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Statistics and Machine Learning Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Deep Learning Toolbox<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Text Analytics Toolbox<\/span><\/li><\/ul><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Here's a screenshot from my Lenovo ThinkStation PGX in Dark Mode<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/11\/MATLABonARM_3.png\" width = \"1046\" height = \"659\" alt = \"MATLAB Running on a DGX Spark\" style = \"vertical-align: baseline; width: 1046px; height: 659px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">You'll notice that MATLAB's title bar reports that it is 'Agent Connected' which comes from the <\/span><a href = \"https:\/\/github.com\/matlab\/matlab-agentic-toolkit\/\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">MATLAB Agentic Toolkit<\/span><\/a><span class=\"_richTextNode\"> which also works beautifully with this beta version although I did have to compile the MATLAB MCP Server from source at the time of writing since it is not yet supported on Linux ARM). This machine has a huge amount of memory available to the GPU which makes real local agentic AI feasible too. I'm really getting into this now as part of my work on our <\/span><a href = \"https:\/\/github.com\/matlab\/matlab-local-agent-quickstart\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">local agent quickstart<\/span><\/a><span class=\"_richTextNode\"> project and am looking forward to discussing it further in the future.<\/span><\/div><h2  style = 'margin: 10px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">Install MATLAB for Linux ARM directly or in Docker \/ Apptainer containers<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">On both of the ARM machines I have access to, I've installed MATLAB directly which is as easy as extracting the .tar.gz file to wherever I want it and adding it to the PATH. Some people might also need to install the dependencies and <\/span><a href = \"https:\/\/uk.mathworks.com\/help\/cloudcenter\/ug\/matlab-on-linux-arm.html\" target=\"_self\"><span class=\"_richTextNode\">full instructions are available in the documentation<\/span><\/a><span class=\"_richTextNode\">. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Some participants in the closed beta had issues with installing the dependencies and suggested that we provide Docker and Apptainer (formerly known as Singularity) based solutions and so that's all available too.<\/span><\/div><h2  style = 'margin: 10px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">A performance note from my experiments on the Lenovo ThinkStation PGX<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">I'm a BLAS \/ LAPACK geek and there's always lots to dig into on a new platform. As we did for the <\/span><a href = \"https:\/\/blogs.mathworks.com\/matlab\/2022\/05\/05\/exploring-the-matlab-beta-for-native-apple-silicon\/\" target=\"_self\"><span class=\"_richTextNode\">early beta builds of MATLAB on Apple Silicon<\/span><\/a><span class=\"_richTextNode\">, we are using OpenBLAS for fundamental linear algebra routines as you can see from the screenshot above. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">One of the first things I did when I got MATLAB installed on this device was to benchmark matrix-matrix multiply on the CPU: Create two random<\/span><span class=\"_richTextNode\" style=' font-family: monospace;'> NxN<\/span><span class=\"_richTextNode\"> matrices and time how long it takes to multiply them together. The machine has 20 CPU cores and MATLAB uses them all by default. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">What I discovered is that it is a good idea to reduce the number of computational threads MATLAB used to half the number of cores. That is, do<\/span><\/div><div class = 'preformatted-matlab' style = 'margin: 10px 3px 10px 55px; padding: 10px 10px 10px 5px; '><div  style = 'border-left: 0px none rgb(33, 33, 33); border-right: 0px none rgb(33, 33, 33); border-top: 0px none rgb(33, 33, 33); border-bottom: 0px none rgb(33, 33, 33); border-radius: 0px; padding: 0px; line-height: 15.6px; min-height: 16px; white-space: pre; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; font-size: 12px; text-indent: 0px; '><span style=\"white-space: pre\"><span >maxNumCompThreads(10);<\/span><\/span><\/div><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Here are the results for the CPU<\/span><\/div><div  style=\"color: rgb(33, 33, 33); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% \/ auto padding-box border-box;     font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; overflow-x: auto;\"><div style=\"font-style: normal;  text-align: start; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; white-space: normal; overflow-wrap: break-word; font-weight: 400; margin: 0; padding: 0;\" class=\"wpfixed-markdown\"><table style=\"font-style: normal; font-weight: 400; text-align: start;  border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; border-collapse: collapse; margin: 0 0 16px; width: auto;\"><thead style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><th style=\"font-style: normal; font-weight: 700; text-align: left; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">Size<\/th><th style=\"font-style: normal; font-weight: 700; text-align: left; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">GFLOPS (20 threads)<\/th><th style=\"font-style: normal; font-weight: 700; text-align: left; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">GFLOPS (10 threads)<\/th><\/tr><\/thead><tbody style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">100 \u00d7 100<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">57<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">57<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">250 \u00d7 250<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">195<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">193<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">500 \u00d7 500<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">275<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">464<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">1000 \u00d7 1000<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">330<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">531<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">5000 \u00d7 5000<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">397<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">571<\/td><\/tr><\/tbody><\/table><\/div><\/div><div  style = 'margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">As expected, performance increases with matrix size and it may be the case that I could squeeze out a few more GFLOPS if I kept on going.  For large matrices, it is more than 1.4x faster to use 10 threads instead of 20. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">I think that this is because of the two different types of CPU core this machine has. One type is much faster than the other.<\/span><\/div><ul  style = 'margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-size: 14px; '><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">10 Cortex-X925 (fast) @ 3.9 GHz<\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">10 Cortex-A725 (efficient) @ 2.8 GHz<\/span><\/li><\/ul><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Switching to 10 threads means that the OS can choose to only use the fast cores and never split any of the work over the slower, efficient cores. You can force things with the Linux command <\/span><span class=\"_richTextNode\" style=' font-family: monospace;'>taskset<\/span><span class=\"_richTextNode\"> but in practice this seemed not to be necessary. <\/span><span class=\"_richTextNode\" style=' font-family: monospace;'>maxNumCompThreads(10)<\/span><span class=\"_richTextNode\"> is enough.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">I expect some workloads to happily make use of all 20 cores simultaneously but clearly matrix-matrix multiply is not currently one of them. As with the Apple Silicon releases, however, I expect things to get better over the next few releases as things get tuned up. <\/span><\/div><h2  style = 'margin: 10px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">Full MATLAB and Simulink running natively on a Raspberry Pi 5<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">The minimum system requirements for the beta include 64 bit Linux and 8GB RAM which means it'll work on a Raspberry Pi 5 and here is a screenshot of me doing this on mine. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2026\/11\/MATLABonARM_4.png\" width = \"1070\" height = \"359\" alt = \"MATLAB and Simulink running natively on a Raspberry Pi\" style = \"vertical-align: baseline; width: 1070px; height: 359px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Trying matrix-matrix multiplication performance, I got some mixed results. Instead of steadily improving results as I expected, they were all over the place out of the box with <\/span><span class=\"_richTextNode\" style=' font-family: monospace;'>250 x 250<\/span><span class=\"_richTextNode\"> matrices showing half the performance of <\/span><span class=\"_richTextNode\" style=' font-family: monospace;'>100 x 100<\/span><span class=\"_richTextNode\">.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Here also, using half the number of cores improves things drastically! This time, however, I didn't have a good explanation since all 4 of the Pi's cores are identical. It's not thermal throttling either. I do have a hunch about what's going wrong here but rather than speculate in a blog post I've submitted a bug report to development which is what beta testing is all about!<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">I encourage you to do the same! Try this beta out, note what works well and what does not and let us know.<\/span><\/div><div  style=\"color: rgb(33, 33, 33); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% \/ auto padding-box border-box;     font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; overflow-x: auto;\"><div style=\"font-style: normal;  text-align: start; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; white-space: normal; overflow-wrap: break-word; font-weight: 400; margin: 0; padding: 0;\" class=\"wpfixed-markdown\"><table style=\"font-style: normal; font-weight: 400; text-align: start;  border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; border-collapse: collapse; margin: 0 0 16px; width: auto;\"><thead style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><th style=\"font-style: normal; font-weight: 700; text-align: left; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">Size<\/th><th style=\"font-style: normal; font-weight: 700; text-align: left; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">GFLOPS (4 threads)<\/th><th style=\"font-style: normal; font-weight: 700; text-align: left; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">GFLOPS (2 threads)<\/th><\/tr><\/thead><tbody style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">100 \u00d7 100<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">12<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">17<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">250 \u00d7 250<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">6<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">15<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">500 \u00d7 500<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">18<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">18<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">1000 \u00d7 1000<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">19<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">29<\/td><\/tr><tr style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse; border: 0px none rgb(33, 33, 33);  font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; width: auto;\"><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">5000 \u00d7 5000<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">12<\/td><td style=\"font-style: normal; font-weight: 400; text-align: start; border-collapse: collapse;   font-family: Arial, Helvetica, sans-serif; font-size: inherit; line-height: inherit; padding: 6px 13px; border: 1px solid #bfbfbf; width: auto;\">31<\/td><\/tr><\/tbody><\/table><\/div><\/div><h2  style = 'margin: 10px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">Over to you<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Making the case for a Linux ARM build was one of the first entries I made in our internal feature request database when I joined MathWorks, and I\u2019ve been working closely with development on it ever since. I am very excited that you can all start playing with it and look forward to your feedback. You can give feedback by clicking on the <\/span><span class=\"_richTextNode\" style=' font-weight: bold;'>Feedback<\/span><span class=\"_richTextNode\"> button in MATLAB or making a comment to this blog post. <\/span><\/div>\r\n<\/div><script type=\"text\/javascript\">var css = '._richTextNode {white-space: break-spaces;}'; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script>","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/matlab\/files\/2026\/11\/MATLABonARM_4.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><p>TL;DR: MATLAB on Linux ARM is now available as an open beta. Details at https:\/\/www.mathworks.com\/help\/cloudcenter\/ug\/matlab-on-linux-arm.html At the beginning of this year I published an article... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/matlab\/2026\/11\/11\/running-matlab-natively-on-raspberry-pi-and-dgx-spark-matlab-on-linux-arm-is-now-in-open-beta\/\">read more >><\/a><\/p>","protected":false},"author":176,"featured_media":4597,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[147,80,20,101,136,110],"tags":[],"class_list":["post-4574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arm","category-blas-lapack","category-new-features","category-new-release","category-nvidia","category-raspberry-pi"],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/users\/176"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/comments?post=4574"}],"version-history":[{"count":5,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4574\/revisions"}],"predecessor-version":[{"id":4599,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4574\/revisions\/4599"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/media\/4597"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/media?parent=4574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/categories?post=4574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/tags?post=4574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}