)
欢迎来到本博客❤️❤️博主优势博客内容尽量做到思维缜密逻辑清晰为了方便读者。完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击本文完整资源下载⛳️座右铭行百里者半于九十。⛳️赠与读者做科研涉及到一个深在的思想系统需要科研者逻辑缜密踏实认真但是不能只是努力很多时候借力比努力更重要然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览免得骤然跌入幽暗的迷宫找不到来时的路它不足为你揭示全部问题的答案但若能解答你胸中升起的一朵朵疑云也未尝不会酿成晚霞斑斓的别一番景致万一它给你带来了一场精神世界的苦雨那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。或许雨过云收神驰的天地更清朗.......第一部分——内容介绍一、问题背景与研究动机随着人工智能模型规模持续增长单个AI核心在制造成本、功耗与散热等方面面临越来越强的约束难以独立满足不断攀升的算力需求。多核NPU因此成为提升并行能力与能效的主流架构。然而多核架构的优势并不会自动转化为性能收益其关键在于如何将完整的计算图合理划分为若干子图并将这些子图分配到多个核心上执行同时协调跨核依赖、核内缓存复用与共享主存带宽之间的复杂关系。本题所关注的核心问题是在由多个同构AI核心与共享DDR主存构成的多核NPU平台上如何设计高效的多核切图与调度算法在满足数据依赖、缓存容量、计算流水线和共享带宽等约束的前提下尽可能缩短总体任务执行时间并控制额外数据搬运量。这一问题不仅决定多核算力能否得到有效利用也直接影响任务时延、数据搬运开销和系统能效。二、多核NPU平台与计算图模型2.1 硬件平台结构多核NPU平台由若干同构AI核心与共享核外主存DDR组成。每个核心配置Cube矩阵计算单元、Vector向量计算单元、数据搬运单元以及私有的L1和UB缓存。Cube与Vector可并行执行但受数据依赖和各自流水线占用约束。所有核心对DDR的读取与写入共同竞争固定的总物理带宽。此外在问题三中还引入了所有核心共享的只读二级缓存L2用于复用多核共享输入其带宽独立于DDR带宽。2.2 计算图表示待调度对象是一张有向无环计算图。图中包含两类节点张量节点与操作节点。张量节点表示一块数据可以是计算图的输入、输出或中间结果操作节点表示一次计算或数据搬运如COPY_IN、COPY_OUT、ADD、MUL等。有向边只允许张量节点与操作节点相连表示数据依赖关系。边本身不设置通信量当依赖跨越子图或执行任务时搬运字节数由关联张量的大小决定。计算图的输入、输出张量位于DDR中间张量的逻辑位置为核内缓存。实际神经网络的计算数据通常远大于单核缓存容量因此需要将计算拆解为可在核内执行的细粒度操作和数据块。以分块矩阵乘法为例每个数据分块依次经历从DDR搬入L1、由Cube计算、将结果写回DDR的过程由此形成计算图。2.3 任务与子图任务指CPU主控向单个NPU核心一次下发并统一调度的最小执行单元。一个任务可包含一个或多个子图具体对应关系由硬件场景决定。子图是切图的基本单位切图方案以每个核内操作节点到子图标识的映射表表示。评估程序根据原始计算图和切图结果自动重建边界数据搬运。子图调度方案以各核心上的子图执行顺序列表表示每个子图必须且只能出现一次且同核内的子图调度顺序不得违反子图间依赖关系。三、问题目标与评估指标本题要求提出高效且效果良好的多核切图与调度方法在给定计算图和核心数量后能够在合理时间内生成符合要求、可执行的多核切分与调度方案并尽可能缩短总体任务执行时间同时控制额外数据搬运。主要评估指标为总体任务执行时间即Makespan由赛题提供的评估程序统一计算单位为时钟周期。次要指标包括总额外数据搬运量与Cache命中率。总额外数据搬运量表示多核调度相对于原始计算图新增的DDR搬运字节数主要来自跨越任务边界的数据、多个任务对同一输入的重复读取以及核内调度中缓存容量不足时自动产生的换出与换入。Cache命中率表示可由只读Cache服务的COPY_IN访问中命中字节数占总访问字节数的比例用于观察Cache对共享输入访问的覆盖程度。求解困难来自三个相互耦合的决策切图、核心分配和同一核内的子图调度顺序。切图改变子图规模、并行空间和通信边界核心分配决定负载均衡及跨核通信同一核内的子图调度顺序影响依赖等待、张量驻留时间和缓存换入换出。减少切分可降低通信却可能压缩并行度并增大缓存压力增加切分可提供更多并行机会却可能带来重复读取和更多DDR搬运。因此不能孤立优化任一环节而需在数据依赖、流水线、缓存和带宽约束下进行联合权衡。四、两种硬件场景与问题划分根据硬件平台是否具有核间同步信号传递机制多核调度分为两种硬件场景。4.1 场景A无核间同步机制在场景A中一个任务只能包含一个子图子图间的同步依赖由CPU主控通过任务调度完成。同一核上多个任务串行执行时核内缓存状态会被清空因此所有跨子图数据必须经DDR中转。任意两子图间的单位通信成本相同且跨任务数据不驻留私有缓存。问题一要求在场景A下建立多核切图与调度模型并设计求解算法为每个非COPY操作分配子图标识同时确定各核心上的子图执行顺序方案以缩短总体任务执行时间为主要目标并兼顾总额外数据搬运量。4.2 场景B存在核间同步机制在场景B中一个任务可包含同一核心上的多个子图前序子图的数据可驻留在L1或UB中供后续子图直接使用。跨核依赖由源核心将数据写入DDR并发送同步信号目标核心收到信号后再从DDR读取。因此同核单位通信成本小于跨核单位通信成本。但跨越多个子图的驻留数据会持续占用核内缓存可能压缩中间子图的可用空间并降低执行效率。问题二要求在问题一的基础上建立适用于场景B的切图与调度模型并设计求解算法在严格满足核内缓存容量约束的前提下进一步缩短总体任务执行时间并减少额外数据搬运。4.3 问题三共享L2资源问题三在场景B的基础上引入所有核心共享的只读L2 Cache要求研究其容量和带宽对多核切图与调度的影响并建立相应模型、设计求解算法。L2容量为1MB、带宽为250 bytes/cycle用于复用多核共享输入其带宽独立于DDR带宽。参赛者需给出无L2与只读Cache两种配置的对比曲线并报告相同核数下只读Cache相对无L2基线的加速比。五、切图与调度的关键约束5.1 子图间通信成本跨子图边的通信数据量需要视场景插入额外的数据搬运节点从而增加对DDR共享带宽的消耗。强通信依赖的两子图若被合并为一个子图可显著降低通信开销但会牺牲并行度。因此切图需要在通信开销与并行度之间进行权衡。5.2 多核并行度核数固定时子图划分方式与子图调度方案共同决定各核负载均衡程度与并行度上限。过度聚合子图会压缩多核并行空间过度切分则会放大跨子图通信代价。合理的调度方案应把相互独立或资源不同的计算分散到不同核心并行执行同时尽量保留计算过程中数据的核内复用。5.3 数据重复读取代价同一份数据可能被多个计算节点使用。如果这些节点被切分至多个子图中则每份子图均需从核外主存或L2 Cache各自读取该数据从而显著增加对共享DDR带宽的消耗。切图与子图调度应尽量将共享同一输入数据的节点聚合到同一子图或同一核以减少重复读取带宽代价。5.4 核内计算单元并行同一AI核心内的Cube与Vector单元可同时独立执行。因此在切图阶段需考虑同一子图内两个计算单元之间的负载均衡以提升核心整体执行效率避免某一计算单元长期空闲。5.5 核内启发式调度的影响现有核内调度算法为启发式算法。当单个子图规模过大时核内调度算法需引入额外的数据搬运以缓解核内缓存容量压力。在超大规模子图上启发式调度的非全局最优解可能导致大量中间数据被换入换出由此带来额外的数据搬运最终导致核内调度效率下降。一般情况下两个子图合并后的子图执行时间会小于两子图各自单独执行的时间之和时间收益来自合并后前后子图头尾数据搬运开销被计算流水掩盖以及通信成本的降低。但当子图合并后的规模超过一定程度时可能出现合并后负时间收益的现象。5.6 单核内通信对缓存资源的占用在场景B中同一核心上的多个子图可以通过核内缓存复用驻留数据减少切分子图引入的数据搬运。然而子图间的数据驻留会持续占用核内缓存压缩其他子图执行时可用的缓存空间从而可能降低单个子图的调度效率。六、评估流程与方案输出赛题提供的评估程序分为构建子图间数据通路、确定每个子图核内调度顺序、多核模拟执行给出指标三个阶段。首先按照场景规则构造任务图、补充跨任务的边界搬运随后采用核内调度算法确定每个任务中操作的固定执行顺序当缓存容量不足时自动插入缓存换出和缓存换入最后多核模拟执行在遵循核内操作顺序和方案给出的子图间调度顺序的基础上模拟所有核心的并行执行。评估程序结束时给出所有操作结束时刻的最大值作为Makespan同时给出其余评估指标。参赛算法输出多核调度结果文件顶层包含两个字段节点到子图的映射表与各核心的子图执行顺序列表。评估器会检查节点覆盖且无重复、子图标识为非负整数、每个子图恰好调度一次、子图依赖无环、同核顺序不违反依赖。任一检查失败即终止评估。七、总结本题围绕通用神经网络处理器下的多核调度问题构建了一个融合切图、核心分配与核内调度顺序的联合优化框架。问题一与问题二分别对应无核间同步与有核间同步两种硬件场景问题三进一步引入共享只读L2 Cache考察缓存资源对调度策略的影响。求解的核心难点在于多核并行度、核内缓存容量与共享主存带宽之间的权衡。合理的调度方案需要在数据依赖、流水线、缓存和带宽约束下进行联合优化以缩短总体任务执行时间并控制额外数据搬运。该问题不仅具有明确的工程应用背景也为多核异构计算环境下的任务划分与资源调度提供了具有挑战性的研究课题。第二部分——运行结果【2026年华为杯A题】通用神经网络处理器下的多核调度问题思路、代码、论文持续更新-CSDN博客https://blog.csdn.net/weixin_46039719/article/details/166453807?sharetypeblogdetailsharerId166453807sharereferPCsharesourceweixin_46039719spm1011.2480.3001.8118第三部分——参考文献文章中一些内容引自网络会注明出处或引用为参考文献难免有未尽之处如有不妥请随时联系删除。(文章内容仅供参考具体效果以运行结果为准)第四部分——本文完整资源下载资料获取更多粉丝福利MATLAB|Simulink|Python|数据|文档等完整资源获取本文完整资源下载