{"id":1792,"date":"2026-08-19T13:07:16","date_gmt":"2026-08-19T13:07:16","guid":{"rendered":"https:\/\/blog.openzeka.com\/en\/?p=1792"},"modified":"2026-08-19T13:07:16","modified_gmt":"2026-08-19T13:07:16","slug":"deepseek-v4-flash-0731-on-2x-dgx-spark","status":"publish","type":"post","link":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/","title":{"rendered":"DeepSeek-V4-Flash-0731 on 2x DGX Spark"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1331.2px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1331.2px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><p>In this tutorial, you will run the DeepSeek-V4-Flash-0731 large language model across two DGX Sparks using sparkrun. This model is a Mixture-of-Experts model with 284 billion total and 13 billion active parameters. Additionally, before running it, we will examine how intelligent the model is.<\/p>\n<p>The Spark can be used as a standalone computer by connecting a monitor and keyboard, or as a remote server accessed from another computer. In this tutorial, we will connect to the Spark remotely and install the necessary software to run the model.<\/p>\n<p>We will use vLLM as the inference engine and sparkrun as the management tool. vLLM will load the model&#8217;s trained weights into GPU memory and expose an API that accepts external requests. sparkrun will manage Docker containers and model deployment across Sparks from the command line. This way, operations such as image synchronization, model transfer, and cluster configuration will be automated. Both will run on the Main Spark, inside Docker containers.<\/p>\n<p>This tutorial consists of six parts:<\/p>\n<ul>\n<li><strong>Model Intelligence:<\/strong> Tests that measure the intelligence of AI models, how they differ from performance tests, and DeepSeek-V4-Flash-0731&#8217;s position among leading models<\/li>\n<li><strong>Setup:<\/strong> Downloading the Docker image and preparing the recipe<\/li>\n<li><strong>Running:<\/strong> Starting, monitoring, and testing the model on two DGX Sparks with sparkrun<\/li>\n<li><strong>Benchmark:<\/strong> Performance measurement results at different concurrency levels<\/li>\n<li><strong>Using with OpenCode:<\/strong> Connecting the model to a local coding assistant<\/li>\n<li><strong>Shutdown:<\/strong> Stopping the services<\/li>\n<\/ul>\n<p>Throughout this tutorial, the primary device will be referred to as the Main Spark and the secondary device as the Worker Spark.<\/p>\n<hr \/>\n<h2>Model Intelligence<\/h2>\n<h3>1. Performance Tests vs Intelligence Tests<\/h3>\n<p>When &#8220;AI Benchmark&#8221; is mentioned, performance tests generally come to mind. In our previous tutorials, we primarily focused on these tests: we ran various models known to be intelligent on the Spark. Then we tested values such as how many tokens the model could produce per second (TPS), how long it took for the first token to arrive (TTFT), or token generation at different concurrency levels (throughput).<\/p>\n<p>Performance tests are fundamentally about how fast a model responds. They depend on which hardware and software a particular model runs on. However, they do not tell us whether the model&#8217;s responses are correct. A model can run at 70 tok\/s but produce incorrect or nonsensical responses.<\/p>\n<p>Intelligence tests, on the other hand, are fundamentally about the accuracy of the model&#8217;s responses. They are hardware-independent \u2014 a property related to the model&#8217;s trained weights.<\/p>\n<h3>2. Artificial Analysis and Intelligence Indices<\/h3>\n<p><a href=\"https:\/\/artificialanalysis.ai\">Artificial Analysis<\/a> is a platform that independently evaluates AI models. It is not affiliated with any model manufacturer and tests hundreds of models under the same conditions. The results are completely transparent \u2014 testing methods, question templates, and scoring rules are all publicly available. The indices they publish combine tests widely used and trusted by the academic and industrial research community. These tests come from various independent sources such as OpenAI, NYU, Stanford, and Center for AI Safety.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Intelligence Index<\/strong>\n<ul>\n<li><strong>What It Measures:<\/strong> General intelligence (combination of all abilities)<\/li>\n<li><strong>Included Tests:<\/strong> GDPval-AA v2, \u03c4\u00b3-Banking, Terminal-Bench v2.1, SciCode, Humanity&#8217;s Last Exam, GPQA Diamond, CritPt, AA-Omniscience, AA-LCR<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><strong>Coding Index<\/strong>\n<ul>\n<li><strong>What It Measures:<\/strong> Coding ability<\/li>\n<li><strong>Included Tests:<\/strong> Terminal-Bench v2.1, SciCode<\/li>\n<\/ul>\n<\/li>\n<li><strong>Agentic Index<\/strong>\n<ul>\n<li><strong>What It Measures:<\/strong> Agentic ability (tool usage, planning)<\/li>\n<li><strong>Included Tests:<\/strong> GDPval-AA v2, \u03c4\u00b3-Banking<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The main metric Artificial Analysis uses to evaluate model intelligence is the Intelligence Index. This index uses the weighted average of 9 separate intelligence test results. The Coding Index and Agentic Index use the tests from within the Intelligence Index that measure coding and agent usage, respectively.<\/p>\n<p>These tests are:<\/p>\n<p><strong>GDPval-AA v2<\/strong> \u2014 Real-world tasks from 44 professions. The highest-weighted component (20%).<\/p>\n<p><strong>\u03c4\u00b3-Banking<\/strong> \u2014 Multi-step agent tasks in 97 banking scenarios (14% weight).<\/p>\n<p><strong>Terminal-Bench v2.1<\/strong> \u2014 89 engineering tasks in a terminal environment (16% weight).<\/p>\n<p><strong>SciCode<\/strong> \u2014 288 coding problems across 16 science fields (8% weight).<\/p>\n<p><strong>Humanity&#8217;s Last Exam<\/strong> \u2014 2500 math, science, and social science questions prepared by experts from 500+ institutions (12% weight).<\/p>\n<p><strong>GPQA Diamond<\/strong> \u2014 198 PhD-level science questions (6% weight).<\/p>\n<p><strong>CritPt<\/strong> \u2014 71 research-level physics problems (6% weight).<\/p>\n<p><strong>AA-Omniscience<\/strong> \u2014 6000 open-ended knowledge questions (12% weight).<\/p>\n<p><strong>AA-LCR<\/strong> \u2014 Information extraction and reasoning from documents of varying lengths (6% weight).<\/p>\n<ul>\n<li>Source: <a style=\"color: #00d114;\" href=\"https:\/\/artificialanalysis.ai\/methodology\/intelligence-benchmarking\"><b>Artificial Analysis Methodology<\/b><\/a><\/li>\n<\/ul>\n<h3>3. Intelligence Index<\/h3>\n<p>DeepSeek-V4-Flash-0731 scored <strong>50 points<\/strong> on the Artificial Analysis Intelligence Index. This score ranks <strong>3rd<\/strong> among open-weight models.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"662\" title=\"aa-intelligence-index\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-1024x662.webp\" alt class=\"img-responsive wp-image-1867\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-200x129.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-300x194.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-400x259.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-600x388.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-768x496.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-800x517.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-1024x662.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index-1200x776.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-intelligence-index.webp 1205w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-3\"><ul>\n<li><strong>1. Kimi K3 (max)<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 57<\/li>\n<li><strong>Total Params:<\/strong> 2800B<\/li>\n<li><strong>Active Params:<\/strong> 104B<\/li>\n<\/ul>\n<\/li>\n<li><strong>2. GLM-5.2 (max)<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 51<\/li>\n<li><strong>Total Params:<\/strong> 744B<\/li>\n<li><strong>Active Params:<\/strong> 40B<\/li>\n<\/ul>\n<\/li>\n<li><strong>3. DeepSeek-V4-Flash-0731 (max)<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 50<\/li>\n<li><strong>Total Params:<\/strong> 284B<\/li>\n<li><strong>Active Params:<\/strong> 13B<\/li>\n<\/ul>\n<\/li>\n<li><strong>4. MiniMax-M3<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 44<\/li>\n<li><strong>Total Params:<\/strong> 428B<\/li>\n<li><strong>Active Params:<\/strong> 23B<\/li>\n<\/ul>\n<\/li>\n<li><strong>5. MiMo-V2.5-Pro<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 42<\/li>\n<li><strong>Total Params:<\/strong> 1020B<\/li>\n<li><strong>Active Params:<\/strong> 42B<\/li>\n<\/ul>\n<\/li>\n<li><strong>6. Inkling<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 41<\/li>\n<li><strong>Total Params:<\/strong> 975B<\/li>\n<li><strong>Active Params:<\/strong> 41B<\/li>\n<\/ul>\n<\/li>\n<li><strong>7. Nemotron 3 Ultra<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 38<\/li>\n<li><strong>Total Params:<\/strong> 550B<\/li>\n<li><strong>Active Params:<\/strong> 55B<\/li>\n<\/ul>\n<\/li>\n<li><strong>8. Mistral Medium 3.5<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 30<\/li>\n<li><strong>Total Params:<\/strong> 128B<\/li>\n<li><strong>Active Params:<\/strong> 128B<\/li>\n<\/ul>\n<\/li>\n<li><strong>9. Gemma 4 31B<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 29<\/li>\n<li><strong>Total Params:<\/strong> 30.7B<\/li>\n<li><strong>Active Params:<\/strong> 30.7B<\/li>\n<\/ul>\n<\/li>\n<li><strong>10. gpt-oss-120b (high)<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 24<\/li>\n<li><strong>Total Params:<\/strong> 117B<\/li>\n<li><strong>Active Params:<\/strong> 5.1B<\/li>\n<\/ul>\n<\/li>\n<li><strong>11. Command A+<\/strong>\n<ul>\n<li><strong>Intelligence Index:<\/strong> 23<\/li>\n<li><strong>Total Params:<\/strong> 218B<\/li>\n<li><strong>Active Params:<\/strong> 25B<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>When we examine <strong>DeepSeek-V4-Flash-0731<\/strong>&#8216;s position in this ranking alongside the parameter counts of the models, an exceptional picture emerges. The two models ahead of it have much larger structures: Kimi K3, with 2.8 trillion parameters, is approximately 10 times the size of Flash and performs 8 times more computation per token with 104 billion active parameters. GLM-5.2, with 744 billion total and 40 billion active parameters, is approximately 2.6 times the size of Flash. Despite this, Flash is only 1 point behind GLM-5.2 on the general intelligence index.<\/p>\n<p>An even more striking picture emerges when we examine the models ranked below Flash. Among the top 9 models \u2014 those with an Intelligence Index of 29 and above \u2014 Flash has the fewest active parameters. All other MoE models in the ranking use both more total and more active parameters. To find the first model with fewer active parameters than Flash, you have to go down to the 10th place, gpt-oss-120b. There, we see the model&#8217;s intelligence index is 24 \u2014 less than half of Flash&#8217;s.<\/p>\n<p>This table has a direct implication for local inference: Parameter count is a measure of model size. Size is directly related to the memory and compute capacity required to run the model. When you choose another model from the list to achieve intelligence performance at the Intelligence Index 50 level, you need larger hardware to run it. For example, in our previous tutorials, we used 4 DGX Sparks to run GLM-5.2. Kimi K3&#8217;s 2.8 trillion parameters would require much larger hardware. DeepSeek-V4-Flash-0731, with only 284 billion total and 13 billion active parameters, is the only model at this intelligence level that can run on two DGX Sparks.<\/p>\n<h3>4. Coding Index<\/h3>\n<p>The Coding Index is the weighted average of the Terminal-Bench v2.1 and SciCode tests. These tests measure the model&#8217;s performance on coding problems and agent skills. DeepSeek-V4-Flash-0731 ranks <strong>2nd<\/strong> among open-weight models in coding.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"662\" title=\"aa-coding-index\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-1024x662.webp\" alt class=\"img-responsive wp-image-1866\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-200x129.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-300x194.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-400x259.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-600x388.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-768x496.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-800x517.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-1024x662.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index-1200x776.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-coding-index.webp 1205w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-4\"><ul>\n<li><strong>1. Kimi K3 (max)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 76.2<\/li>\n<\/ul>\n<\/li>\n<li><strong>2. DeepSeek-V4-Flash-0731 (max)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 69.1<\/li>\n<\/ul>\n<\/li>\n<li><strong>3. GLM-5.2 (max)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 68.8<\/li>\n<\/ul>\n<\/li>\n<li><strong>4. MiMo-V2.5-Pro<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 60.2<\/li>\n<\/ul>\n<\/li>\n<li><strong>5. MiniMax-M3<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 58.6<\/li>\n<\/ul>\n<\/li>\n<li><strong>6. Inkling<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 52.1<\/li>\n<\/ul>\n<\/li>\n<li><strong>7. Nemotron 3 Ultra<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 49.3<\/li>\n<\/ul>\n<\/li>\n<li><strong>8. Mistral Medium 3.5<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 46.9<\/li>\n<\/ul>\n<\/li>\n<li><strong>9. Gemma 4 31B<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 43.4<\/li>\n<\/ul>\n<\/li>\n<li><strong>10. gpt-oss-120b (high)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 30.4<\/li>\n<\/ul>\n<\/li>\n<li><strong>11. Command A+<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 27.8<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>DeepSeek-V4-Flash-0731<\/strong> scores <strong>69.1<\/strong> on the Coding Index.<br \/>\nThe following <strong>GLM-5.2<\/strong> stays at <strong>68.8<\/strong> \u2014 meaning Flash surpassed<br \/>\neven GLM-5.2, which is <strong>2.6 times its size<\/strong>, to claim second place.<\/p>\n<h3>5. Agentic Index<\/h3>\n<p>The Agentic Index is the weighted average of the <strong>GDPval-AA v2<\/strong> and<br \/>\n<strong>\u03c4\u00b3-Banking<\/strong> tests. It measures the model&#8217;s agentic capability.<br \/>\nAgentic capability indicates how well the model performs as an autonomous agent \u2014<br \/>\ndoing web research, running terminal commands, and writing code.<\/p>\n<p>Similar to what we saw in the Coding Index,<br \/>\n<strong>DeepSeek-V4-Flash-0731<\/strong> also ranks <strong>2nd<\/strong><br \/>\namong open-weight models in this area, with <strong>45.7 points<\/strong>.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-3 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"662\" title=\"aa-agentic-index\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-1024x662.webp\" alt class=\"img-responsive wp-image-1865\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-200x129.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-300x194.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-400x259.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-600x388.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-768x496.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-800x517.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-1024x662.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index-1200x776.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/aa-agentic-index.webp 1205w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-5\"><ul>\n<li><strong>1. Kimi K3 (max)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 76.2<\/li>\n<\/ul>\n<\/li>\n<li><strong>2. DeepSeek-V4-Flash-0731 (max)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 69.1<\/li>\n<\/ul>\n<\/li>\n<li><strong>3. GLM-5.2 (max)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 68.8<\/li>\n<\/ul>\n<\/li>\n<li><strong>4. MiMo-V2.5-Pro<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 60.2<\/li>\n<\/ul>\n<\/li>\n<li><strong>5. MiniMax-M3<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 58.6<\/li>\n<\/ul>\n<\/li>\n<li><strong>6. Inkling<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 52.1<\/li>\n<\/ul>\n<\/li>\n<li><strong>7. Nemotron 3 Ultra<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 49.3<\/li>\n<\/ul>\n<\/li>\n<li><strong>8. Mistral Medium 3.5<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 46.9<\/li>\n<\/ul>\n<\/li>\n<li><strong>9. Gemma 4 31B<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 43.4<\/li>\n<\/ul>\n<\/li>\n<li><strong>10. gpt-oss-120b (high)<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 30.4<\/li>\n<\/ul>\n<\/li>\n<li><strong>11. Command A+<\/strong>\n<ul>\n<li><strong>Coding Index:<\/strong> 27.8<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>DeepSeek-V4-Flash-0731<\/strong> scores <strong>69.1<\/strong> on the Coding Index.<br \/>\nThe following <strong>GLM-5.2<\/strong> stays at <strong>68.8<\/strong> \u2014 meaning Flash surpassed<br \/>\neven GLM-5.2, which is <strong>2.6 times its size<\/strong>, to claim second place.<\/p>\n<h3>5. Agentic Index<\/h3>\n<p>The Agentic Index is the weighted average of the <strong>GDPval-AA v2<\/strong> and<br \/>\n<strong>\u03c4\u00b3-Banking<\/strong> tests. It measures the model&#8217;s agentic capability.<\/p>\n<p>Agentic capability indicates how well the model performs as an autonomous agent \u2014<br \/>\ndoing web research, running terminal commands, and writing code.<br \/>\nSimilar to what we saw in the Coding Index, <strong>DeepSeek-V4-Flash-0731<\/strong><br \/>\nalso ranks <strong>2nd<\/strong> among open-weight models in this area, with<br \/>\n<strong>45.7 points<\/strong>.<\/p>\n<\/div><div class=\"fusion-text fusion-text-6\"><h2>Setup<\/h2>\n<h3>Prerequisites<\/h3>\n<p>Previous tutorials covered the processes of connecting to the Spark, installing sparkrun, and configuring a multi-Spark cluster step by step. In this tutorial, we assume all these steps have been completed and your setup is ready.<\/p>\n<p>This tutorial requires 2 DGX Sparks. We will refer to the primary device as the and the other device as . Note the IP address of each device beforehand.<\/p>\n<p>Downloading the Docker Image<\/p>\n<p>DeepSeek-V4-Flash-0731&#8217;s MoE architecture and MLA (Multi-Head Latent Attention) structure require kernels compiled for GB10 (SM 12.1). Standard vLLM images do not include these kernels. Therefore, we will use a custom Docker image that includes the required B12X kernels.<\/p>\n<p>Run the following command to pull the Docker image prepared by OpenZeka:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-1 > .CodeMirror, .fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-1 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_1\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_1\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_1\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">docker pull registry.cordata.ai\/spark-cluster\/vllm-node-b12x:latest<\/textarea><\/div><div class=\"fusion-text fusion-text-7\"><p>&nbsp;<\/p>\n<p>Verify the image:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-2 > .CodeMirror, .fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-2 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_2\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_2\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_2\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">docker images registry.cordata.ai\/spark-cluster\/vllm-node-b12x:latest<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-3 > .CodeMirror, .fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-3 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_3\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_3\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_3\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">REPOSITORY TAG IMAGE ID CREATED SIZE\nregistry.cordata.ai\/spark-cluster\/vllm-node-b12x latest 91ddbb01c9d6 2 minutes ago 34.5GB<\/textarea><\/div><div class=\"fusion-text fusion-text-8\"><h3>2. Preparing the Recipe<\/h3>\n<p>A recipe is a YAML file that defines how sparkrun will run the model. The model, Docker image, vLLM flags, and memory settings are all consolidated in a single file. For DeepSeek-V4-Flash-0731, this recipe uses tensor parallelism across 2 nodes (two Sparks share the model weight matrices), runs the model with the maximum context window, and accelerates model inference with DSpark speculative decoding (k=5).<\/p>\n<p>Save the recipe file using the following command:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-4 > .CodeMirror, .fusion-syntax-highlighter-4 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-4 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_4\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_4\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_4\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/yaml\">cat &amp;gt; ~\/deepseek-v4-flash-0731-eugr-b12x.yaml &amp;lt;&amp;lt; &#8216;RECIPE'&lt;br \/&gt;\n# DeepSeek V4 Flash 0731 B12X TP2&lt;br \/&gt;\n# Usage:&lt;br \/&gt;\n# sparkrun run ~\/deepseek-v4-flash-0731-eugr-b12x.yaml # 2-node cluster (TP=2)&lt;br \/&gt;\nrecipe_version: &#8220;2&#8221;&lt;br \/&gt;\nmodel: deepseek-ai\/DeepSeek-V4-Flash-0731&lt;br \/&gt;\nruntime: vllm-distributed&lt;br \/&gt;\nmin_nodes: 2&lt;br \/&gt;\nmax_nodes: 2&lt;br \/&gt;\ncontainer: registry.cordata.ai\/spark-cluster\/vllm-node-b12x:latest&lt;\/p&gt;\n&lt;p&gt;metadata:&lt;br \/&gt;\ndescription: vLLM serving deepseek-ai\/DeepSeek-V4-Flash-0731 on a dual Sparks using B12X docker&lt;br \/&gt;\nmodel_params: 284B&lt;br \/&gt;\nmodel_dtype: nvfp4&lt;br \/&gt;\nkv_dtype: fp8&lt;\/p&gt;\n&lt;p&gt;defaults:&lt;br \/&gt;\nport: 8000&lt;br \/&gt;\nhost: 0.0.0.0&lt;br \/&gt;\ntensor_parallel: 2&lt;br \/&gt;\ngpu_memory_utilization: 0.85&lt;br \/&gt;\nmax_model_len: auto&lt;br \/&gt;\nblock_size: 256&lt;br \/&gt;\nmax_num_seqs: 8&lt;br \/&gt;\nmax_num_batched_tokens: 8192&lt;br \/&gt;\nmax_cudagraph_capture_size: 64&lt;br \/&gt;\nnum_speculative_tokens: 5&lt;br \/&gt;\nreasoning_config: &#8216;{&#8220;reasoning_parser&#8221;:&#8221;deepseek_v4&#8243;,&#8221;reasoning_start_str&#8221;:&#8221;&#8221;,&#8221;reasoning_end_str&#8221;:&#8221;&#8221;}'&lt;br \/&gt;\ncompilation_config: &#8216;{&#8220;cudagraph_mode&#8221;:&#8221;FULL_AND_PIECEWISE&#8221;,&#8221;custom_ops&#8221;:[&#8220;all&#8221;]}'&lt;br \/&gt;\nspeculative_config: &#8216;{&#8220;method&#8221;:&#8221;dspark&#8221;,&#8221;num_speculative_tokens&#8221;:5,&#8221;draft_sample_method&#8221;:&#8221;probabilistic&#8221;,&#8221;attention_backend&#8221;:&#8221;B12X_MLA_SPARSE&#8221;}'&lt;\/p&gt;\n&lt;p&gt;env:&lt;br \/&gt;\nCUTE_DSL_ARCH: &#8220;sm_121a&#8221;&lt;br \/&gt;\nVLLM_USE_AOT_COMPILE: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_BREAKABLE_CUDAGRAPH: &#8220;0&#8221;&lt;br \/&gt;\nVLLM_USE_MEGA_AOT_ARTIFACT: &#8220;-1&#8243;&lt;br \/&gt;\nVLLM_MEMORY_PROFILE_INCLUDE_ATTN: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_FLASHINFER_SAMPLER: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_B12X_WO_PROJECTION: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_B12X_MHC: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_B12X_FP8_GEMM: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_B12X_MOE: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_B12X_SPARSE_INDEXER: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_USE_V2_MODEL_RUNNER: &#8220;1&#8221;&lt;br \/&gt;\nB12X_MLA_SM120_UNIFIED: &#8220;1&#8221;&lt;br \/&gt;\nB12X_MOE_FORCE_A8: &#8220;1&#8221;&lt;br \/&gt;\nVLLM_WORKER_MULTIPROC_METHOD: &#8220;spawn&#8221;&lt;\/p&gt;\n&lt;p&gt;command: |&lt;br \/&gt;\nvllm serve {model}&lt;br \/&gt;\n&#8211;served-model-name {model}&lt;br \/&gt;\n&#8211;host {host}&lt;br \/&gt;\n&#8211;port {port}&lt;br \/&gt;\n&#8211;trust-remote-code&lt;br \/&gt;\n&#8211;tensor-parallel-size {tensor_parallel}&lt;br \/&gt;\n&#8211;kv-cache-dtype fp8&lt;br \/&gt;\n&#8211;block-size {block_size}&lt;br \/&gt;\n&#8211;max-model-len {max_model_len}&lt;br \/&gt;\n&#8211;max-num-seqs {max_num_seqs}&lt;br \/&gt;\n&#8211;max-num-batched-tokens {max_num_batched_tokens}&lt;br \/&gt;\n&#8211;gpu-memory-utilization {gpu_memory_utilization}&lt;br \/&gt;\n&#8211;enable-prefix-caching&lt;br \/&gt;\n&#8211;tokenizer-mode deepseek_v4&lt;br \/&gt;\n&#8211;tool-call-parser deepseek_v4&lt;br \/&gt;\n&#8211;enable-auto-tool-choice&lt;br \/&gt;\n&#8211;reasoning-parser deepseek_v4&lt;br \/&gt;\n&#8211;reasoning-config &#8216;{reasoning_config}'&lt;br \/&gt;\n&#8211;default-chat-template-kwargs.thinking=true&lt;br \/&gt;\n&#8211;default-chat-template-kwargs.reasoning_effort=high&lt;br \/&gt;\n&#8211;load-format instanttensor&lt;br \/&gt;\n&#8211;moe-backend b12x&lt;br \/&gt;\n&#8211;linear-backend b12x&lt;br \/&gt;\n&#8211;attention-backend B12X_MLA_SPARSE&lt;br \/&gt;\n&#8211;max-cudagraph-capture-size {max_cudagraph_capture_size}&lt;br \/&gt;\n&#8211;compilation-config &#8216;{compilation_config}'&lt;br \/&gt;\n&#8211;speculative-config &#8216;{speculative_config}'&lt;br \/&gt;\nRECIPE<\/textarea><\/div><div class=\"fusion-text fusion-text-9\"><p>&nbsp;<\/p>\n<p>Verify the file:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-5 > .CodeMirror, .fusion-syntax-highlighter-5 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-5 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_5\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_5\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_5\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">cat ~\/deepseek-v4-flash-0731-eugr-b12x.yaml<\/textarea><\/div><div class=\"fusion-text fusion-text-10\"><p>You will see the recipe file you saved.<\/p>\n<hr \/>\n<h2>Running<\/h2>\n<h3>1. Clearing the Cache<\/h3>\n<p>Before starting vLLM, flush the filesystem cache on each Spark. The main reason for doing this is the DGX Spark&#8217;s unified memory architecture (UMA): the operating system caches model files read from disk in RAM. vLLM loads the model weights from here into GPU memory. After loading is complete, the cached data remains in RAM even though it will not be used again. On systems with separate memory, this is not significant \u2014 since inference runs in GPU memory, RAM utilization does not affect performance. On the Spark, however, the CPU and GPU share the same RAM, so the cache reduces the memory available to the GPU. This command frees the cache, providing maximum memory for vLLM.<\/p>\n<p>Clear the cache on the Main Spark:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-6 > .CodeMirror, .fusion-syntax-highlighter-6 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-6 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_6\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_6\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_6\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">sudo sh -c &#8216;sync; echo 3 &gt; \/proc\/sys\/vm\/drop_caches&#8217;<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-7 > .CodeMirror, .fusion-syntax-highlighter-7 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-7 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_7\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_7\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_7\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">[sudo] password for nvidia:<\/textarea><\/div><div class=\"fusion-text fusion-text-11\"><p>&nbsp;<\/p>\n<p>From the Main Spark, apply the same cleanup on the Worker Spark via SSH:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-8 > .CodeMirror, .fusion-syntax-highlighter-8 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-8 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_8\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_8\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_8\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">ssh nvidia@ &#8220;sudo sh -c &#8216;sync; echo 3 &gt; \/proc\/sys\/vm\/drop_caches'&#8221;<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-9 > .CodeMirror, .fusion-syntax-highlighter-9 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-9 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_9\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_9\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_9\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">[sudo] password for nvidia:<\/textarea><\/div><div class=\"fusion-text fusion-text-12\"><hr \/>\n<h3>2. Pre-launch Checks<\/h3>\n<p>Verify that sparkrun correctly parsed the recipe and that the memory budget is suitable:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-10 > .CodeMirror, .fusion-syntax-highlighter-10 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-10 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_10\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_10\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_10\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">sparkrun show ~\/deepseek-v4-flash-0731-eugr-b12x.yaml<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-11 > .CodeMirror, .fusion-syntax-highlighter-11 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-11 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_11\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_11\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_11\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">Name: \/home\/nvidia\/deepseek-v4-flash-0731-eugr-b12x.yaml\nDescription: vLLM serving deepseek-ai\/DeepSeek-V4-Flash-0731 on a dual Sparks using B12X docker\nRuntime: vllm-distributed\nModel: deepseek-ai\/DeepSeek-V4-Flash-0731\nContainer: registry.cordata.ai\/spark-cluster\/vllm-node-b12x:latest\nNodes: 2 &#8211; 2<\/p>\n<p>&#8230;..\n&#8230;..\n&#8230;..<\/p>\n<p>VRAM Estimation:\nModel dtype: nvfp4\nModel params: 284,000,000,000\nKV cache dtype: fp8\nArchitecture: 43 layers, 1 KV heads, 512 head_dim\nModel weights: 132.25 GB\nTensor parallel: 2\nPer-GPU total: 66.12 GB\nDGX Spark fit: YES<\/p>\n<p>GPU Memory Budget:\ngpu_memory_utilization: 85%\nUsable GPU memory: 102.8 GB (121 GB x 85%)\nAvailable for KV: 36.7 GB\nMax context tokens: 1,791,167<\/textarea><\/div><div class=\"fusion-text fusion-text-13\"><p>&nbsp;<\/p>\n<p>sparkrun correctly parsed the recipe, selected vllm-distributed, and confirmed &#8216;DGX Spark fit: YES&#8217;.<\/p>\n<hr \/>\n<h3>3. Starting the Model<\/h3>\n<p>Now let&#8217;s start the model:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-12 > .CodeMirror, .fusion-syntax-highlighter-12 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-12 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_12\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_12\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_12\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">sparkrun run ~\/deepseek-v4-flash-0731-eugr-b12x.yaml &#8211;no-follow<\/textarea><\/div><div class=\"fusion-text fusion-text-14\"><p>&nbsp;<\/p>\n<p>sparkrun automatically synchronizes the image to the Worker (skips if same ID), downloads the model to the head node and distributes it to the Worker (skips if already present), configures NCCL for CX-7 interfaces, and launches containers on each Spark.<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-13 > .CodeMirror, .fusion-syntax-highlighter-13 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-13 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_13\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_13\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_13\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/yaml\">Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.&lt;br \/&gt;\nWarning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.&lt;br \/&gt;\nsparkrun v0.3.1&lt;\/p&gt;\n&lt;p&gt;Runtime: vllm-distributed&lt;br \/&gt;\nImage: registry.cordata.ai\/spark-cluster\/vllm-node-b12x:latest&lt;br \/&gt;\nModel: deepseek-ai\/DeepSeek-V4-Flash-0731&lt;br \/&gt;\nMode: cluster (2 nodes)&lt;br \/&gt;\nPlatform: DGX Spark (NVIDIA GB10, NCCL)&lt;br \/&gt;\nScheduler: occupancy-sparse&lt;\/p&gt;\n&lt;p&gt;VRAM Estimation:&lt;br \/&gt;\nModel dtype: nvfp4&lt;br \/&gt;\nModel params: 284,000,000,000&lt;br \/&gt;\nKV cache dtype: fp8&lt;br \/&gt;\nArchitecture: 43 layers, 1 KV heads, 512 head_dim&lt;br \/&gt;\nModel weights: 132.25 GB&lt;br \/&gt;\nTensor parallel: 2&lt;br \/&gt;\nPer-GPU total: 66.12 GB&lt;br \/&gt;\nDGX Spark fit: YES&lt;\/p&gt;\n&lt;p&gt;GPU Memory Budget:&lt;br \/&gt;\ngpu_memory_utilization: 85%&lt;br \/&gt;\nUsable GPU memory: 102.8 GB (121 GB x 85%)&lt;br \/&gt;\nAvailable for KV: 36.7 GB&lt;br \/&gt;\nMax context tokens: 1,791,167&lt;\/p&gt;\n&lt;p&gt;Per-host fit:&lt;br \/&gt;\n: ranks=1, per-rank=66.1 GB, accelerator=121.0 GB @85% -&amp;gt; usable=102.8 GB, headroom=36.7 GB [OK]\n: ranks=1, per-rank=66.1 GB, accelerator=121.0 GB @85% -&amp;gt; usable=102.8 GB, headroom=36.7 GB [OK]\n&lt;p&gt;Hosts: default cluster &#8216;default'&lt;br \/&gt;\nHead:&lt;br \/&gt;\nWorkers:&lt;\/p&gt;[1\/6] Preparing&lt;br \/&gt;\ndone (0.0s)[2\/6] Building \u2014 skipped (no builder)[3\/6] Distributing resources&lt;br \/&gt;\nDistributing image registry.cordata.ai\/spark-cluster\/vllm-node-b12x:latest to 2 host(s)&lt;br \/&gt;\nContainer image stale on 1 of 2 host(s), syncing&lt;br \/&gt;\nDistributing model deepseek-ai\/DeepSeek-V4-Flash-0731 to 2 host(s)&lt;br \/&gt;\nFetching 74 files: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 74\/74 [00:00&amp;lt;00:00, 5336.17it\/s]\nModel synced to 2 host(s)&lt;br \/&gt;\ndone (185.3s)[4\/6] Syncing tuning configs&lt;br \/&gt;\ndone (0.0s)[5\/6] Launching vllm runtime&lt;br \/&gt;\nStep 1\/7: Cleaning up existing containers&lt;br \/&gt;\nStep 2\/7: Detecting InfiniBand&lt;br \/&gt;\nStep 3\/7: Detecting head node IP&lt;br \/&gt;\nStep 4\/7: Launching containers&lt;br \/&gt;\nStep 5\/7: Running pre-serve hooks&lt;br \/&gt;\nStep 6\/7: Starting head node serve&lt;br \/&gt;\nStep 7\/7: Starting worker nodes&lt;br \/&gt;\ndone (69.9s)&lt;br \/&gt;\nCluster: sparkrun_81fb38c99696b8c8_59ab24d3b0b4&lt;\/p&gt;\n&lt;p&gt;Serve command:&lt;br \/&gt;\nvllm serve deepseek-ai\/DeepSeek-V4-Flash-0731&lt;br \/&gt;\n&#8211;served-model-name deepseek-ai\/DeepSeek-V4-Flash-0731&lt;br \/&gt;\n&#8211;host 0.0.0.0&lt;br \/&gt;\n&#8211;port 8000&lt;br \/&gt;\n&#8211;trust-remote-code&lt;br \/&gt;\n&#8211;tensor-parallel-size 2&lt;br \/&gt;\n&#8211;kv-cache-dtype fp8&lt;br \/&gt;\n&#8211;block-size 256&lt;br \/&gt;\n&#8211;max-model-len auto&lt;br \/&gt;\n&#8211;max-num-seqs 8&lt;br \/&gt;\n&#8211;max-num-batched-tokens 8192&lt;br \/&gt;\n&#8211;gpu-memory-utilization 0.85&lt;br \/&gt;\n&#8211;enable-prefix-caching&lt;br \/&gt;\n&#8211;tokenizer-mode deepseek_v4&lt;br \/&gt;\n&#8211;tool-call-parser deepseek_v4&lt;br \/&gt;\n&#8211;enable-auto-tool-choice&lt;br \/&gt;\n&#8211;reasoning-parser deepseek_v4&lt;br \/&gt;\n&#8211;reasoning-config &#8216;{&#8220;reasoning_parser&#8221;:&#8221;deepseek_v4&#8243;,&#8221;reasoning_start_str&#8221;:&#8221;&#8221;,&#8221;reasoning_end_str&#8221;:&#8221;&#8221;}'&lt;br \/&gt;\n&#8211;default-chat-template-kwargs.thinking=true&lt;br \/&gt;\n&#8211;default-chat-template-kwargs.reasoning_effort=high&lt;br \/&gt;\n&#8211;load-format instanttensor&lt;br \/&gt;\n&#8211;moe-backend b12x&lt;br \/&gt;\n&#8211;linear-backend b12x&lt;br \/&gt;\n&#8211;attention-backend B12X_MLA_SPARSE&lt;br \/&gt;\n&#8211;max-cudagraph-capture-size 64&lt;br \/&gt;\n&#8211;compilation-config &#8216;{&#8220;cudagraph_mode&#8221;:&#8221;FULL_AND_PIECEWISE&#8221;,&#8221;custom_ops&#8221;:[&#8220;all&#8221;]}'&lt;br \/&gt;\n&#8211;speculative-config &#8216;{&#8220;method&#8221;:&#8221;dspark&#8221;,&#8221;num_speculative_tokens&#8221;:5,&#8221;draft_sample_method&#8221;:&#8221;probabilistic&#8221;,&#8221;attention_backend&#8221;:&#8221;B12X_MLA_SPARSE&#8221;}'&lt;\/p&gt;\n&lt;p&gt;Runtime versions:&lt;br \/&gt;\ncuda: 13.0&lt;br \/&gt;\nnccl: (2, 29, 7)&lt;br \/&gt;\npython: 3.12.3&lt;br \/&gt;\ntorch: 2.12.0+cu130&lt;br \/&gt;\nvllm: 0.1.dev19023+g30038602b.d20260804&lt;\/p&gt;[6\/6] Post-launch hooks \u2014 skipped<\/textarea><\/div><div class=\"fusion-text fusion-text-15\"><p>&nbsp;<\/p>\n<p>sparkrun successfully completed all 6 steps. &#8216;Mode: cluster (2 nodes)&#8217; was observed. sparkrun synchronized the image to the Worker over the CX-7 network. All flags were correctly resolved within the serve command.<\/p>\n<p>After the model download is complete, it may take a few minutes for vLLM to become ready for serving. During this process, vLLM loads the model weights into GPU memory, compiles GPU kernels, and allocates memory for inference.<\/p>\n<p>To watch vLLM logs:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-14 > .CodeMirror, .fusion-syntax-highlighter-14 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-14 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_14\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_14\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_14\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">sparkrun logs ~\/deepseek-v4-flash-0731-eugr-b12x.yaml<\/textarea><\/div><div class=\"fusion-text fusion-text-16\"><p>&nbsp;<\/p>\n<p>You will see the following in the logs:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-15 > .CodeMirror, .fusion-syntax-highlighter-15 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-15 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_15\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_15\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_15\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">(APIServer pid=89) INFO 08-05 12:58:36 [api_utils.py:345]\n(APIServer pid=89) INFO 08-05 12:58:36 [api_utils.py:345] \u2588 \u2588 \u2588\u2584 \u2584\u2588\n(APIServer pid=89) INFO 08-05 12:58:36 [api_utils.py:345] \u2584\u2584 \u2584\u2588 \u2588 \u2588 \u2588 \u2580\u2584\u2580 \u2588 version 0.1.dev19023+g30038602b.d20260804\n(APIServer pid=89) INFO 08-05 12:58:36 [api_utils.py:345] \u2588\u2584\u2588\u2580 \u2588 \u2588 \u2588 \u2588 model deepseek-ai\/DeepSeek-V4-Flash-0731\n(APIServer pid=89) INFO 08-05 12:58:36 [api_utils.py:345] \u2580\u2580 \u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580 \u2580 \u2580\n(APIServer pid=89) INFO 08-05 12:58:36 [api_utils.py:345]\n<p>(APIServer pid=89) INFO 08-05 12:58:47 [model.py:622] Resolved architecture: DeepseekV4ForCausalLM\n(APIServer pid=89) INFO 08-05 12:58:47 [model.py:1794] Using max model len 1048576\n(APIServer pid=89) INFO 08-05 12:58:47 [cache.py:286] Using fp8 data type to store kv cache. It reduces the GPU memory footprint and boosts the performance. Meanwhile, it may cause accuracy drop without a proper scaling factor<\/p>\n<p>(APIServer pid=89) INFO 08-05 12:58:56 [model.py:622] Resolved architecture: DeepseekV4MTPModel\n(APIServer pid=89) INFO 08-05 12:58:56 [model.py:1794] Using max model len 1048576\n(APIServer pid=89) INFO 08-05 12:59:06 [scheduler.py:252] Chunked prefill is enabled with max_num_batched_tokens=8192.\n(APIServer pid=89) INFO 08-05 12:59:06 [vllm.py:1162] Asynchronous scheduling is enabled.<\/p>\n<p>&#8230;..\n&#8230;..\n&#8230;..<\/p>\n<p>(Worker_TP0 pid=321) Capturing CUDA graphs (PIECEWISE): 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 11\/11 [00:04&lt;00:00, 2.25it\/s]\n(Worker_TP0 pid=321) Capturing CUDA graphs (FULL): 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 8\/8 [00:11&lt;00:00, 1.38s\/it]\n(Worker_TP0 pid=321) Capturing dspark CUDA graphs (FULL): 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 8\/8 [00:00&lt;00:00, 17.14it\/s]\n(Worker_TP0 pid=321) INFO 08-05 13:03:40 [model_runner.py:1067] Graph capturing finished in 17 secs, took 0.07 GiB<\/p>\n<p>(EngineCore pid=284) INFO 08-05 13:03:48 [core.py:345] init engine (profile, create kv cache, warmup model) took 154.21 s (compilation: 16.84 s)<\/p>\n<p>(APIServer pid=89) INFO 08-05 13:03:49 [parser_manager.py:37] &#8220;auto&#8221; tool choice has been enabled.\n(APIServer pid=89) INFO 08-05 13:03:49 [api_server.py:684] Starting vLLM server on http:\/\/0.0.0.0:8000\n(APIServer pid=89) INFO: Started server process [89]\n(APIServer pid=89) INFO: Waiting for application startup.\n(APIServer pid=89) INFO: Application startup complete.<\/textarea><\/div><div class=\"fusion-text fusion-text-17\"><p>&nbsp;<\/p>\n<p>Once you see the <code>Application startup complete.<\/code> line, the model server is ready.<\/p>\n<p>Finally, verify that the server is running:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-16 > .CodeMirror, .fusion-syntax-highlighter-16 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-16 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_16\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_16\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_16\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">curl -s -o \/dev\/null -w &#8220;HTTP %{http_code}&#8221; http:\/\/:8000\/health<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-17 > .CodeMirror, .fusion-syntax-highlighter-17 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-17 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_17\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_17\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_17\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">HTTP 200<\/textarea><\/div><div class=\"fusion-text fusion-text-18\"><p>&nbsp;<\/p>\n<p>The &#8216;HTTP 200&#8217; response indicates that the server is healthy.<\/p>\n<p>DeepSeek-V4-Flash-0731 is now running and serving from port 8000 on the Main Spark.<\/p>\n<hr \/>\n<h2>Benchmark<\/h2>\n<p>We tested the DeepSeek-V4-Flash-0731 model running on two Sparks at different concurrency levels. The measurements recorded average TTFT (Time to First Token \u2014 time to start producing the first token) and TPS (Tokens Per Second \u2014 number of tokens produced per second) values.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<thead>\n<tr>\n<th>Concurrency<\/th>\n<th>Avg TTFT (ms)<\/th>\n<th>Avg TPS (tok\/s)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>308<\/td>\n<td>47.3<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>416<\/td>\n<td>32.4<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>532<\/td>\n<td>22.5<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>686<\/td>\n<td>15.7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>The measurements were taken using the <a href=\"https:\/\/github.com\/CordatusAI\/llm-benchmark\">CordatusAI LLM Benchmark Tool<\/a>. This tool is a benchmarking application developed by CordatusAI that tests LLM servers with OpenAI-compatible APIs. As can be seen, at single concurrency, the value exceeded 47 tokens per second.<\/p>\n<hr \/>\n<h2>Using with OpenCode<\/h2>\n<p><a href=\"https:\/\/opencode.ai\">OpenCode<\/a> is an open-source AI coding assistant that runs from the terminal. It has features such as writing code, editing files, running terminal commands, and analyzing codebases. Unlike cloud services, OpenCode runs on your own computer and you choose which LLM it works with.<\/p>\n<p>If you want to take advantage of the coding and agentic capabilities of the DeepSeek-V4-Flash-0731 model, you can connect OpenCode to this model to get a local coding assistant.<\/p>\n<h3>1. Installation and Configuration<\/h3>\n<p>Install OpenCode on your computer:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-18 > .CodeMirror, .fusion-syntax-highlighter-18 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-18 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_18\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_18\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_18\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">curl -fsSL https:\/\/opencode.ai\/install | bash<\/textarea><\/div><div class=\"fusion-text fusion-text-19\"><p>&nbsp;<\/p>\n<p>Verify the installation:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-19 > .CodeMirror, .fusion-syntax-highlighter-19 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-19 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_19\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_19\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_19\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">opencode &#8211;version<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-20 > .CodeMirror, .fusion-syntax-highlighter-20 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-20 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_20\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_20\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_20\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">1.18.14<\/textarea><\/div><div class=\"fusion-text fusion-text-20\"><p>&nbsp;<\/p>\n<p>Save the following JSON to <code>~\/.config\/opencode\/opencode.json<\/code>. Create the file if it doesn&#8217;t exist. Replace <code><\/code> with your Spark&#8217;s IP address:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-21 > .CodeMirror, .fusion-syntax-highlighter-21 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-21 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_21\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_21\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_21\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"application\/json\">{\n&#8220;$schema&#8221;: &#8220;https:\/\/opencode.ai\/config.json&#8221;,\n&#8220;model&#8221;: &#8220;local\/deepseek-v4-flash&#8221;,\n&#8220;provider&#8221;: {\n&#8220;local&#8221;: {\n&#8220;npm&#8221;: &#8220;@ai-sdk\/openai-compatible&#8221;,\n&#8220;name&#8221;: &#8220;DGX Spark&#8221;,\n&#8220;options&#8221;: {\n&#8220;baseURL&#8221;: &#8220;http:\/\/:8000\/v1&#8221;\n},\n&#8220;models&#8221;: {\n&#8220;deepseek-v4-flash&#8221;: {\n&#8220;id&#8221;: &#8220;deepseek-ai\/DeepSeek-V4-Flash-0731&#8221;,\n&#8220;name&#8221;: &#8220;DeepSeek-V4-Flash-0731&#8221;,\n&#8220;reasoning&#8221;: true,\n&#8220;tool_call&#8221;: true,\n&#8220;limit&#8221;: {\n&#8220;context&#8221;: 1048576,\n&#8220;output&#8221;: 32768\n}\n}\n}\n}\n}\n}<\/textarea><\/div><div class=\"fusion-text fusion-text-21\"><blockquote>\n<p><strong>Important:<\/strong> If you already have a <code>~\/.config\/opencode\/opencode.json<\/code> file on your computer, back it up to avoid losing it: <code>cp ~\/.config\/opencode\/opencode.json ~\/.config\/opencode\/opencode.json.bak<\/code><\/p>\n<\/blockquote>\n<h3>2. Usage<\/h3>\n<p>Start OpenCode from the project directory you want to work in:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-22 > .CodeMirror, .fusion-syntax-highlighter-22 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-22 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_22\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_22\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_22\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">cd ~\/my-project\nopencode<\/textarea><\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-4 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-baslangic-ekrani\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-1024x579.webp\" alt class=\"img-responsive wp-image-1869\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-baslangic-ekrani.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-22\"><p>&nbsp;<\/p>\n<p>Type your message in the input box and press <code>Enter<\/code> to start chatting with the model:<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-5 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-ilk-sohbet\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-1024x579.webp\" alt class=\"img-responsive wp-image-1873\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-ilk-sohbet.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-23\"><p>&nbsp;<\/p>\n<p>In OpenCode, you switch between <strong>Build<\/strong> and <strong>Plan<\/strong> modes with the <code>Tab<\/code> key. Start complex tasks in Plan mode. In this mode, OpenCode only has permissions for analysis, reading, research, and planning. Once you approve the plan, you can switch to Build mode. In this mode, file creation, editing, and command execution features are also enabled.<\/p>\n<p>You can use OpenCode commands with <code>\/<\/code>. Use <code>\/models<\/code> to see available models, <code>\/sessions<\/code> to switch to past sessions, and <code>\/undo<\/code> to undo changes.<\/p>\n<p>Use <code>\/help<\/code> for other commands:<\/p>\n<table>\n<thead>\n<tr>\n<th>Command<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code><strong>\/models<\/strong><\/code><\/td>\n<td>Lists available models, switches model<\/td>\n<\/tr>\n<tr>\n<td><strong><code>\/init<\/code><\/strong><\/td>\n<td>Analyzes project, creates <code>AGENTS.md<\/code><\/td>\n<\/tr>\n<tr>\n<td><code><strong>\/compact<\/strong><\/code><\/td>\n<td>Compresses context<\/td>\n<\/tr>\n<tr>\n<td><strong><code>\/share<\/code><\/strong><\/td>\n<td>Converts session to shareable link<\/td>\n<\/tr>\n<tr>\n<td><strong><code>\/export<\/code><\/strong><\/td>\n<td>Exports session as Markdown<\/td>\n<\/tr>\n<tr>\n<td><strong><code>\/thinking<\/code><\/strong><\/td>\n<td>Show\/hide model&#8217;s chain of thought<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>You can also reference files with <code>@<\/code> in your messages and run terminal commands directly with <code>!<\/code>.<\/p>\n<p>When you give a complex task, OpenCode first analyzes it:<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-6 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-gorev-isleniyor\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-1024x579.webp\" alt class=\"img-responsive wp-image-1870\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-gorev-isleniyor.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-24\"><p>&nbsp;<\/p>\n<p>Then it presents an implementation plan and asks you questions about ambiguous points:<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-7 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-plan-ve-sorular\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-1024x579.webp\" alt class=\"img-responsive wp-image-1874\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-plan-ve-sorular.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-25\"><p>&nbsp;<\/p>\n<p>After answering the questions, you can switch to Build mode and allow file creation. After the model creates the files, you can verify the project:<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-8 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-proje-tamamlandi\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-1024x579.webp\" alt class=\"img-responsive wp-image-1875\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-proje-tamamlandi.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-26\"><hr \/>\n<h3>3. Example Usage<\/h3>\n<p>Now that you&#8217;ve learned OpenCode, let&#8217;s give a more challenging task to test the model&#8217;s coding and intelligence capabilities. Start a new session, switch to Build mode with <code>Tab<\/code>, and send the following prompt:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-23 > .CodeMirror, .fusion-syntax-highlighter-23 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-23 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_23\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_23\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_23\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">Write a complete, single-file HTML page, named hexagon.html, containing a JavaScript Canvas simulation of a single red ball with radius 20 pixels bouncing inside a spinning blue hexagon against a solid black background and no other objects in the scene. The hexagon should be perfectly centered, have a radius of 250 pixels, and rotate clockwise at a constant speed of 60 degrees per second. Its motion should follow comprehensive and realistic 2D physics such as mass, earth&#8217;s gravity, friction, restitution, and momentum. Construct and implement accurate vector-based physics, paying particular attention to collisions between the ball and the moving hexagon boundaries: when the ball strikes a rotating boundary, the response must account for the wall&#8217;s instantaneous velocity at the contact point so that the ball correctly inherits the appropriate tangential momentum and velocity from the hexagon&#8217;s rotation. The simulation should run smoothly at approximately 60 FPS using requestAnimationFrame, and all HTML, CSS, and Vanilla JavaScript must be fully self-contained in a single file with zero external dependencies.<\/textarea><\/div><div class=\"fusion-text fusion-text-27\"><p>This prompt requires the model to correctly integrate multiple challenging topics within a single file, including vector-based physics, collision calculation with rotating objects, and Canvas API usage.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-9 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-hexagon-prompt\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-1024x579.webp\" alt class=\"img-responsive wp-image-1872\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-prompt.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-28\"><p>&nbsp;<\/p>\n<p>The model analyzes the prompt and starts creating the file:<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-10 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"opencode-hexagon-created\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-1024x579.webp\" alt class=\"img-responsive wp-image-1871\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/opencode-hexagon-created.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-29\"><p>&nbsp;<\/p>\n<p>You can test the simulation by opening the generated <strong><code>hexagon.html<\/code><\/strong> file in your browser. You will see the ball bouncing inside the rotating hexagon following realistic physics rules:<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-11 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"579\" title=\"hexagon\" src=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-1024x579.webp\" alt class=\"img-responsive wp-image-1868\" srcset=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-200x113.webp 200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-300x170.webp 300w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-400x226.webp 400w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-600x339.webp 600w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-768x434.webp 768w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-800x452.webp 800w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-1024x579.webp 1024w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-1200x678.webp 1200w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon-1536x868.webp 1536w, https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/hexagon.webp 1850w\" sizes=\"(max-width: 640px) 100vw, 1024px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-30\"><p>&nbsp;<\/p>\n<p>You can also try the same prompt with other models and compare the results.<\/p>\n<hr \/>\n<h2>Shutdown<\/h2>\n<p>When you are done, stop the model:<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-24 > .CodeMirror, .fusion-syntax-highlighter-24 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-24 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_24\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_24\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_24\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/x-sh\">sparkrun stop ~\/deepseek-v4-flash-0731-eugr-b12x.yaml<\/textarea><\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-25 > .CodeMirror, .fusion-syntax-highlighter-25 > .CodeMirror .CodeMirror-gutters {background-color:#000000;}<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-25 fusion-syntax-highlighter-theme-dark\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:rgba(242,243,245,0);\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_25\" style=\"font-size:14px;\">Copy to Clipboard<\/span><\/div><label for=\"fusion_syntax_highlighter_25\" class=\"screen-reader-text\">Syntax Highlighter<\/label><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_25\" data-readOnly=\"nocursor\" data-lineNumbers=\"\" data-lineWrapping=\"\" data-theme=\"oceanic-next\" data-mode=\"text\/txt\">Workload stopped on 2 host(s).<\/textarea><\/div><div class=\"fusion-text fusion-text-31\"><p>&nbsp;<\/p>\n<p>This command stops the container and frees the memory. However, the container, Docker image, and model files remain on disk. Therefore, you do not need to re-download to restart \u2014 simply run the <code><strong>sparkrun run<\/strong><\/code> command from step 3 again.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1331.2px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-32\"><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":1928,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,17],"tags":[],"class_list":["post-1792","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-cluster","category-generative-ai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.3.1 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>DeepSeek-V4-Flash-0731 on 2x DGX Spark - OpenZeka EN Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DeepSeek-V4-Flash-0731 on 2x DGX Spark\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/\" \/>\n<meta property=\"og:site_name\" content=\"OpenZeka EN Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61576911356211\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-19T13:07:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Enhar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Aetherixnl\" \/>\n<meta name=\"twitter:site\" content=\"@Aetherixnl\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Enhar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/\"},\"author\":{\"name\":\"Enhar\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#\\\/schema\\\/person\\\/62c964376839cf2c4b2eb682bf14d3cb\"},\"headline\":\"DeepSeek-V4-Flash-0731 on 2x DGX Spark\",\"datePublished\":\"2026-08-19T13:07:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/\"},\"wordCount\":6025,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp\",\"articleSection\":[\"AI Cluster\",\"Generative AI\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/\",\"url\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/\",\"name\":\"DeepSeek-V4-Flash-0731 on 2x DGX Spark - OpenZeka EN Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp\",\"datePublished\":\"2026-08-19T13:07:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp\",\"contentUrl\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/deepseek-v4-flash-0731-on-2x-dgx-spark\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DeepSeek-V4-Flash-0731 on 2x DGX Spark\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/\",\"name\":\"Aetherix B.V.\",\"description\":\"NVIDIA Jetson Developer Kits &amp;Edge Devices\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#organization\",\"name\":\"Aetherix B.V.\",\"url\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/aetherix-site-icon.webp\",\"contentUrl\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/aetherix-site-icon.webp\",\"width\":421,\"height\":398,\"caption\":\"Aetherix B.V.\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61576911356211\",\"https:\\\/\\\/x.com\\\/Aetherixnl\",\"https:\\\/\\\/www.instagram.com\\\/aetherixnl\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@aetherixnl\"],\"description\":\"Aetherix provides a full range of NVIDIA Jetson-based edge AI solutions\u2014including Developer Kits, AI Kits, industrial-grade Carrier Boards, and fully integrated Boxed AI Systems.\",\"email\":\"info@aetherix.com\",\"legalName\":\"Aetherix B.V.\",\"vatID\":\"NL867727688B01\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.openzeka.com\\\/en\\\/#\\\/schema\\\/person\\\/62c964376839cf2c4b2eb682bf14d3cb\",\"name\":\"Enhar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/189d567adce3bb0c8d438b4586bf861ec04980f2e451003975e3cf871781d0f4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/189d567adce3bb0c8d438b4586bf861ec04980f2e451003975e3cf871781d0f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/189d567adce3bb0c8d438b4586bf861ec04980f2e451003975e3cf871781d0f4?s=96&d=mm&r=g\",\"caption\":\"Enhar\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"DeepSeek-V4-Flash-0731 on 2x DGX Spark - OpenZeka EN Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/","og_locale":"en_US","og_type":"article","og_title":"DeepSeek-V4-Flash-0731 on 2x DGX Spark","og_url":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/","og_site_name":"OpenZeka EN Blog","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61576911356211","article_published_time":"2026-08-19T13:07:16+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp","type":"image\/webp"}],"author":"Enhar","twitter_card":"summary_large_image","twitter_creator":"@Aetherixnl","twitter_site":"@Aetherixnl","twitter_misc":{"Written by":"Enhar","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#article","isPartOf":{"@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/"},"author":{"name":"Enhar","@id":"https:\/\/blog.openzeka.com\/en\/#\/schema\/person\/62c964376839cf2c4b2eb682bf14d3cb"},"headline":"DeepSeek-V4-Flash-0731 on 2x DGX Spark","datePublished":"2026-08-19T13:07:16+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/"},"wordCount":6025,"publisher":{"@id":"https:\/\/blog.openzeka.com\/en\/#organization"},"image":{"@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp","articleSection":["AI Cluster","Generative AI"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/","url":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/","name":"DeepSeek-V4-Flash-0731 on 2x DGX Spark - OpenZeka EN Blog","isPartOf":{"@id":"https:\/\/blog.openzeka.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#primaryimage"},"image":{"@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp","datePublished":"2026-08-19T13:07:16+00:00","breadcrumb":{"@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#primaryimage","url":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp","contentUrl":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2026\/08\/DeepSeek-V4-Flash-0731-on-2x-DGX-Spark.webp","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/blog.openzeka.com\/en\/deepseek-v4-flash-0731-on-2x-dgx-spark\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.openzeka.com\/en\/"},{"@type":"ListItem","position":2,"name":"DeepSeek-V4-Flash-0731 on 2x DGX Spark"}]},{"@type":"WebSite","@id":"https:\/\/blog.openzeka.com\/en\/#website","url":"https:\/\/blog.openzeka.com\/en\/","name":"Aetherix B.V.","description":"NVIDIA Jetson Developer Kits &amp;Edge Devices","publisher":{"@id":"https:\/\/blog.openzeka.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.openzeka.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/blog.openzeka.com\/en\/#organization","name":"Aetherix B.V.","url":"https:\/\/blog.openzeka.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.openzeka.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2025\/06\/aetherix-site-icon.webp","contentUrl":"https:\/\/blog.openzeka.com\/en\/wp-content\/uploads\/2025\/06\/aetherix-site-icon.webp","width":421,"height":398,"caption":"Aetherix B.V."},"image":{"@id":"https:\/\/blog.openzeka.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61576911356211","https:\/\/x.com\/Aetherixnl","https:\/\/www.instagram.com\/aetherixnl\/","https:\/\/www.tiktok.com\/@aetherixnl"],"description":"Aetherix provides a full range of NVIDIA Jetson-based edge AI solutions\u2014including Developer Kits, AI Kits, industrial-grade Carrier Boards, and fully integrated Boxed AI Systems.","email":"info@aetherix.com","legalName":"Aetherix B.V.","vatID":"NL867727688B01"},{"@type":"Person","@id":"https:\/\/blog.openzeka.com\/en\/#\/schema\/person\/62c964376839cf2c4b2eb682bf14d3cb","name":"Enhar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/189d567adce3bb0c8d438b4586bf861ec04980f2e451003975e3cf871781d0f4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/189d567adce3bb0c8d438b4586bf861ec04980f2e451003975e3cf871781d0f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/189d567adce3bb0c8d438b4586bf861ec04980f2e451003975e3cf871781d0f4?s=96&d=mm&r=g","caption":"Enhar"}}]}},"_links":{"self":[{"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/posts\/1792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/comments?post=1792"}],"version-history":[{"count":14,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/posts\/1792\/revisions"}],"predecessor-version":[{"id":1935,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/posts\/1792\/revisions\/1935"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/media\/1928"}],"wp:attachment":[{"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/media?parent=1792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/categories?post=1792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.openzeka.com\/en\/wp-json\/wp\/v2\/tags?post=1792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}