PageSourceSearch

https://www.bsc.es/supportkc/assets/js/d42234a6.db7765d7.js

js bsc.es collected 2026-10-01 09:24:22 UTC 21,494 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunksupportkc_new=self.webpackChunksupportkc_new||[]).push([[1495],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>g});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var s=n.createContext({}),p=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),c=p(a),m=l,g=c["".concat(s,".").concat(m)]||c[m]||d[m]||r;return a?n.createElement(g,i(i({ref:t},u),{},{components:a})):n.createElement(g,i({ref:t},u))}));function g(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:l,i[1]=o;for(var p=2;p<r;p++)i[p]=a[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}m.displayName="MDXCreateElement"},31840:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var n=a(87462),l=(a(67294),a(3905));const r={slug:"eurohpc-ai-factory-technical-guide-proposals",title:"EuroHPC AI Factory: Technical Guide for Proposals",date:new Date("2026-05-22T00:00:00.000Z"),authors:["framos"],tags:["guide"]},i=void 0,o={permalink:"/supportkc/blog/eurohpc-ai-factory-technical-guide-proposals",source:"@site/blog/2026-05-22-eurohpc-ai-factory-technical-guide/eurohpc-ai-factory-technical-guide.md",title:"EuroHPC AI Factory: Technical Guide for Proposals",description:"Purpose",date:"2026-05-22T00:00:00.000Z",formattedDate:"May 22, 2026",tags:[{label:"guide",permalink:"/supportkc/blog/tags/guide"}],readingTime:6.445,hasTruncateMarker:!1,authors:[{name:"Felix Fernando Ramos Velazquez",title:"HPC User Support",url:"https://www.bsc.es/ramos-velazquez-felix-fernando",imageURL:"https://www.bsc.es/sites/default/files/public/personal_photo/framos.jpeg",key:"framos"}],frontMatter:{slug:"eurohpc-ai-factory-technical-guide-proposals",title:"EuroHPC AI Factory: Technical Guide for Proposals",date:"2026-05-22T00:00:00.000Z",authors:["framos"],tags:["guide"]},nextItem:{title:"Running MPI apps on Singularity",permalink:"/supportkc/blog/mpi-singularity-guide"}},s={authorsImageUrls:[void 0]},p=[{value:"Purpose",id:"purpose",level:2},{value:"Guidance on call selection",id:"guidance-on-call-selection",level:2},{value:"Choosing the right call",id:"choosing-the-right-call",level:3},{value:"AI Factory calls",id:"ai-factory-calls",level:4},{value:"Quick selection guide",id:"quick-selection-guide",level:4},{value:"Technical assessment: key sections and fields",id:"technical-assessment-key-sections-and-fields",level:2},{value:"AI Factory selection",id:"ai-factory-selection",level:3},{value:"Code details and feasibility",id:"code-details-and-feasibility",level:3},{value:"Code details",id:"code-details",level:4},{value:"Scalability and performance",id:"scalability-and-performance",level:4},{value:"Playground projects \u2013 \u22645,000 GPU hours, \u22648 GPUs",id:"playground-projects--5000-gpu-hours-8-gpus",level:5}
1,{value:"Example 1 (has test data):",id:"example-1-has-test-data",level:6},{value:"Example 2 (no test data):",id:"example-2-no-test-data",level:6},{value:"Fast Lane projects \u2013 5,001\u201350,000 GPU hours, typically \u226464 GPUs",id:"fast-lane-projects--500150000-gpu-hours-typically-64-gpus",level:5},{value:"Example:",id:"example",level:6},{value:"Large Scale projects \u2013 &gt;50,000 GPU hours, up to 400+ GPUs",id:"large-scale-projects--50000-gpu-hours-up-to-400-gpus",level:5},{value:"Example 1 (single large model):",id:"example-1-single-large-model",level:6},{value:"Example 2 (many small jobs):",id:"example-2-many-small-jobs",level:6},{value:"Playground projects \u2013 \u22645,000 GPU hours, \u22648 GPUs",id:"playground-projects--5000-gpu-hours-8-gpus-1",level:5},{value:"Example:",id:"example-1",level:6},{value:"Fast Lane projects \u2013 5,001\u201350,000 GPU hours, typically \u226464 GPUs",id:"fast-lane-projects--500150000-gpu-hours-typically-64-gpus-1",level:5},{value:"Example:",id:"example-2",level:6}],u={toc:p},c="wrapper";function d(e){let{components:t,...r}=e;return(0,l.kt)(c,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"purpose"},"Purpose"),(0,l.kt)("p",null,"This document helps applicants identify which AI Factory call best matches their project and provides\nguidance on the technical information needed to assess project viability on the requested HPC infrastructure\n(e.g., MareNostrum 5 ACC). A well-documented proposal accelerates the review process and increases the\nprobability of approval."),(0,l.kt)("h2",{id:"guidance-on-call-selection"},"Guidance on call selection"),(0,l.kt)("p",null,"Call selection depends on multiple factors: GPU hours, GPUs per job, user experience, workload type, and\nscalability evidence. The selected call determines the evaluation process and the expected level of\ntechnical justification."),(0,l.kt)("h3",{id:"choosing-the-right-call"},"Choosing the right call"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"EuroHPC AI Factory ",(0,l.kt)("strong",{parentName:"li"},"Playground"),": first-time users, prototyping, testing, small-scale\ntraining, moderate workloads."),(0,l.kt)("li",{parentName:"ul"},"EuroHPC AI Factory ",(0,l.kt)("strong",{parentName:"li"},"Fast Lane"),": experienced users, medium-scale training."),(0,l.kt)("li",{parentName:"ul"},"EuroHPC AI Factory ",(0,l.kt)("strong",{parentName:"li"},"Large Scale"),": high-impact research, projects requiring a large total\nnumber of GPU hours, either due to large model size, extensive hyperparameter sweeps, or a\nhigh volume of independent jobs.")),(0,l.kt)("h4",{id:"ai-factory-calls"},"AI Factory calls"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Call"),(0,l.kt)("th",{parentName:"tr",align:null},"GPU hours"),(0,l.kt)("th",{parentName:"tr",align:null},"Max GPUs"),(0,l.kt)("th",{parentName:"tr",align:null},"Key requirement"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("strong",{parentName:"td"},"Playground")),(0,l.kt)("td",{parentName:"tr",align:null},"\u2264 5,000"),(0,l.kt)("td",{parentName:"tr",align:null},"1 \u2013 8"),(0,l.kt)("td",{parentName:"tr",align:null},"No scaling data required")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("strong",{parentName:"td"},"Fast Lane")),(0,l.kt)("td",{parentName:"tr",align:null},"5,001 \u2013 50,000"),(0,l.kt)("td",{parentName:"tr",align:null},"\u2264 64 (typical)"),(0,l.kt)("td",{parentName:"tr",align:null},"Scaling justification required")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("strong",{parentName:"td"},"Large Scale")),(0,l.kt)("td",{parentName:"tr",align:null},"> 50,000"),(0,l.kt)("td",{parentName:"tr",align:null},"up to 400+"),(0,l.kt)("td",{parentName:"tr",align:null},"Detailed scaling data required")))),(0,l.kt)("h4",{id:"quick-selection-guide"},"Quick selection guide"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"If your project..."),(0,l.kt)("th",{parentName:"tr",align:null},"Choose..."))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null}
1,"First HPC experience, no scaling data, \u22645,000 GPU hours"),(0,l.kt)("td",{parentName:"tr",align:null},"Playground")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Up to 8 GPUs per job, testing multi-GPU for the first time"),(0,l.kt)("td",{parentName:"tr",align:null},"Playground")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Prior HPC experience, tested on 2\u20134 GPUs, up to 50,000 GPU hours"),(0,l.kt)("td",{parentName:"tr",align:null},"Fast Lane")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Up to 64 GPUs per job, throughput measurements available"),(0,l.kt)("td",{parentName:"tr",align:null},"Fast Lane")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Proven HPC experience with detailed scaling data, requesting >50,000 GPU hours"),(0,l.kt)("td",{parentName:"tr",align:null},"Large Scale")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Large total volume of work (e.g., many jobs, sweeps, or high GPU counts) with strong justification"),(0,l.kt)("td",{parentName:"tr",align:null},"Large Scale")))),(0,l.kt)("h2",{id:"technical-assessment-key-sections-and-fields"},"Technical assessment: key sections and fields"),(0,l.kt)("p",null,"The evaluation team will assess technical feasibility based on two core sections of the proposal:"),(0,l.kt)("p",null,"\xa0","\xa0","\xa0","\xa0","\u2714 AI Factory selection"),(0,l.kt)("p",null,"\xa0","\xa0","\xa0","\xa0","\u2714 Code details and feasibility"),(0,l.kt)("h3",{id:"ai-factory-selection"},"AI Factory selection"),(0,l.kt)("p",null,"This section collects the key resource data that defines the technical scope of the request: the target cluster,\nwhich codes will be used, the total GPU hours for the project, the maximum number of GPUs per job, and the\nassociated storage and data transfer requirements. Field labels are self-explanatory."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"AI Factory selection form",src:a(4617).Z,width:"1256",height:"570"})),(0,l.kt)("h3",{id:"code-details-and-feasibility"},"Code details and feasibility"),(0,l.kt)("p",null,"This section contains the technical information needed to assess whether the code(s) can run\nefficiently on the requested HPC infrastructure."),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"[Technical assessment guideline]"),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"Descriptions that focus on scientific motivation rather than technical implementation will not\npositively impact the assessment"),". Please be specific, concise, and provide quantitative information\nwhere possible.")),(0,l.kt)("h4",{id:"code-details"},"Code details"),(0,l.kt)("p",null,'Complete this section for each code used in the project. Use the "+ Code details" button to add\nmultiple entries.'),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"Code details and feasibility",src:a(63197).Z,width:"1256",height:"793"})),(0,l.kt)("p",null,"a. ",(0,l.kt)("strong",{parentName:"p"},"Name and version of the code"),":"),(0,l.kt)("p",null,"Provide the code name and, if applicable, the version or\nrelease identifier."),(0,l.kt)("p",null,"b. ",(0,l.kt)("strong",{parentName:"p"},"Webpage and other references"),":"),(0,l.kt)("p",null,"Provide links to the code repository, documentation, or\nrelevant publications. ",(0,l.kt)("strong",{parentName:"p"},"References that include technical data")," (e.g., compilation steps,\nsoftware requirements, dependencies, scalability tests, or performance validation) ",(0,l.kt)("strong",{parentName:"p"},"are\nparticularly valuable for the evaluation"),"."),(0,l.kt)("p",null,"c. ",(0,l.kt)("strong",{parentName:"p"},"Description of the code"),":"),(0,l.kt)("p",null,"Specify the AI framework (",(0,l.kt)("em",{parentName:"p"},"PyTorch, TensorFlow, JAX"),") and\nversion, the main programming language, and the key libraries or packages required. If\napplicable, include distributed training libraries (",(0,l.kt)("em",{parentName:"p"},"e.g., DeepSpeed, FSDP, Horovod"),") and\noptimization strategies (",(0,l.kt)("em",{parentName:"p"},"e.g., FlashAttention, activation checkpointing, mixed precision"),")."),(0,l.kt)("h4",{id:"scalability-and-performance"},"Scalability and performance"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"Scalability and performance",src:a(14243).Z,width:"1256",height:"793"})),(0,l.kt)("p",null,"d. ",(0,l.kt)("strong",{parentName:"p"},"Describe the scalability and performance of the application"),":"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},"(Select the subsection that corresponds to your project category):")),(0,l.kt)("hr",null),(0,l.kt)("h5",{id:"playground-projects--5000-gpu-hours-8-gpus"},"Playground projects \u2013 \u22645,000 GPU hours, \u22648 GPUs"),(0,l.kt)("p",null,"Provide a basic description of any tests already performed. Scaling data is not required."),(0,l.kt)("h6",{id:"example-1-has-test-data"},"Example 1 (has test data):"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},'"We tested our model on a single A100 GPU for 2 hours using\n10% of the dataset. Training converged after 50 epochs. We expect full training on 8\nGPUs to take approximately 8 hours."')),(0,l.kt)("h6",{id:"example-2-no-test-data"},"Example 2 (no test data):"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},'"We have only tested on a local workstation with 1 GPU (RTX\n4080). This allocation will allow us to measure performance on 1, 2, 4, and 8 H100\nGPUs for the first time. We will document throughput and scaling behaviour."')),(0,l.kt)("hr",null),(0,l.kt)("h5",{id:"fast-lane-projects--500150000-gpu-hours-typically-64-gpus"},"Fast Lane projects \u2013 5,001\u201350,000 GPU hours, typically \u226464 GPUs"),(0,l.kt)("p",null,"Provide small-scale scaling tests (e.g., on 2\u20134 GPUs), throughput measurements\n(samples/sec or tokens/sec), and projected efficie
1ncy at the target GPU count."),(0,l.kt)("h6",{id:"example"},"Example:"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},'"We tested on 1, 2, and 4 A100 GPUs using PyTorch DDP with a fixed dataset\nof 1M images. Throughput increased from 1,200 to 4,400 samples/sec, corresponding to\n92% scaling efficiency at 4 GPUs. Based on these results, we project 85\u201390% scaling\nefficiency up to 16 GPUs."')),(0,l.kt)("hr",null),(0,l.kt)("h5",{id:"large-scale-projects--50000-gpu-hours-up-to-400-gpus"},"Large Scale projects \u2013 >50,000 GPU hours, up to 400+ GPUs"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"What to include"),": Quantitative scaling data or performance justification appropriate to your\nworkload type."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"For ",(0,l.kt)("strong",{parentName:"li"},"single large jobs")," (e.g., training a single large model): Provide scaling data across a\nrelevant range of GPUs (e.g., from 8 to 64 to 128 GPUs). Include a table with\nthroughput, speedup, and efficiency. MFU and communication overhead measurements\nare expected where applicable."),(0,l.kt)("li",{parentName:"ul"},"For ",(0,l.kt)("strong",{parentName:"li"},"high-throughput workloads")," (e.g., many independent or weakly parallel jobs):\nProvide justification of how the total GPU hours are composed (e.g., number of jobs \xd7\nGPUs per job \xd7 walltime). Include evidence that the per-job performance is consistent\nand that the workload can efficiently utilise the requested resources (e.g., job array\nefficiency or throughput measurements from representative jobs).")),(0,l.kt)("h6",{id:"example-1-single-large-model"},"Example 1 (single large model):"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},"Scaling tests on a 1.4B parameter model from 8 to 128 GPUs (A100):")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"GPUs"),(0,l.kt)("th",{parentName:"tr",align:null},"Throughput (tokens/sec)"),(0,l.kt)("th",{parentName:"tr",align:null},"Speedup"),(0,l.kt)("th",{parentName:"tr",align:null},"Efficiency"),(0,l.kt)("th",{parentName:"tr",align:null},"MFU"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"8"),(0,l.kt)("td",{parentName:"tr",align:null},"12,000"),(0,l.kt)("td",{parentName:"tr",align:null},"1.00x"),(0,l.kt)("td",{parentName:"tr",align:null},"100%"),(0,l.kt)("td",{parentName:"tr",align:null},"38%")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"16"),(0,l.kt)("td",{parentName:"tr",align:null},"23,500"),(0,l.kt)("td",{parentName:"tr",align:null},"1.96x"),(0,l.kt)("td",{parentName:"tr",align:null},"98%"),(0,l.kt)("td",{parentName:"tr",align:null},"37%")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"32"),(0,l.kt)("td",{parentName:"tr",align:null},"45,000"),(0,l.kt)("td",{parentName:"tr",align:null},"3.75x"),(0,l.kt)("td",{parentName:"tr",align:null},"94%"),(0,l.kt)("td",{parentName:"tr",align:null},"36%")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"64"),(0,l.kt)("td",{parentName:"tr",align:null},"82,000"),(0,l.kt)("td",{parentName:"tr",align:null},"6.83x"),(0,l.kt)("td",{parentName:"tr",align:null},"85%"),(0,l.kt)("td",{parentName:"tr",align:null},"34%")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"128"),(0,l.kt)("td",{parentName:"tr",align:null},"135,000"),(0,l.kt)("td",{parentName:"tr",align:null},"11.25x"),(0,l.kt)("td",{parentName:"tr",align:null},"70%"),(0,l.kt)("td",{parentName:"tr",align:null},"30%")))),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"[Recommendation]"),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"If scaling data at the required scale is not yet available, a smaller allocation "),"(Playground or\nFast Lane)",(0,l.kt)("strong",{parentName:"p"}," should be requested first to collect it"),".")),(0,l.kt)("h6",{id:"example-2-many-small-jobs"},"Example 2 (many small jobs):"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},'"The workload consists of 5,000 independent jobs, each using 8 GPUs for 2 hours. Total\nrequested: 5,000 \xd7 8 \xd7 2 = 80,000 GPU hours. We have tested a representative job on 8\nGPUs; runtime is stable (\xb15%). We will use job arrays to manage the workflow and ensure\nhigh queue utilisation. No strong scaling across larger GPU counts is required, as each job\ndoes not scale beyond 8 GPUs."')),(0,l.kt)("hr",null),(0,l.kt)("p",null,"e. ",(0,l.kt)("strong",{parentName:"p"},"Optimization of the work proposed"),":"),(0,l.kt)("p",null,"Describe concrete optimization actions, not scientific impact. Include:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Which specific code component will be optimized"),(0,l.kt)("li",{parentName:"ul"},"Which technique will be used (",(0,l.kt)("em",{parentName:"li"},"FSDP, FlashAttention, checkpointing, data loading, etc."),")"),(0,l.kt)("li",{parentName:"ul"}
1,"How this will benefit future work (quantify if possible)")),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},"(Select the subsection that corresponds to your project category):")),(0,l.kt)("hr",null),(0,l.kt)("h5",{id:"playground-projects--5000-gpu-hours-8-gpus-1"},"Playground projects \u2013 \u22645,000 GPU hours, \u22648 GPUs"),(0,l.kt)("h6",{id:"example-1"},"Example:"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},'"We will learn to use PyTorch DDP for multi-GPU\ntraining. We will experiment with different batch sizes, gradient accumulation steps, and\nNCCL settings to understand their impact on training speed. The results will inform future\nprojects requiring distributed training."')),(0,l.kt)("hr",null),(0,l.kt)("h5",{id:"fast-lane-projects--500150000-gpu-hours-typically-64-gpus-1"},"Fast Lane projects \u2013 5,001\u201350,000 GPU hours, typically \u226464 GPUs"),(0,l.kt)("h6",{id:"example-2"},"Example:"),(0,l.kt)("p",null,(0,l.kt)("em",{parentName:"p"},'"We will optimize the data loading pipeline, which\ncurrently consumes 30% of training time. We will implement pre-sharded datasets and\nincrease data loader workers from 4 to 16 per GPU. This will reduce overhead to <10%,\nenabling faster training in future runs."')))}d.isMDXComponent=!0},4617:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/aif_selection_form-0b0fc08dfd3f0eaf6d76d2ebaef66ae8.png"},63197:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/code_details_form-a8c764550c5255befc2985eb05929bf9.png"},14243:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/scalability_form-170814784d6aaef1d298324824232f52.png"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.