Arrange code structure. Introduce dynamic scheduler and multi leader.

This commit is contained in:
Youmu Liu
2025-10-21 16:39:34 +08:00
parent 838ce73133
commit b26ec45433
13 changed files with 388 additions and 240 deletions
@@ -25,7 +25,7 @@
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Commom.Collections;
using StgSharp.Collections;
using StgSharp.HighPerformance;
using System;
@@ -837,7 +837,9 @@ namespace StgSharp.Mathematics.Numeric
bool isLargeSlice = extraTiles > 0;
// count tiles for wrap
int toSlice = wrap.WrapTaskCapacity * slicingPerWrap;
// TODO 此处应该是线程数量而不是线程束数量
// TODO 需要想办法正确同步线程数量信息
int toSlice = hasSlice ? wrap.WrapTaskCapacity * slicingPerWrap : 0;
int baseTile = wrap.WrapTaskCapacity * tilePerThreadLess;
int tileInWrap = baseTile + toSlice + (isLargeSlice ? 1 : 0);
int columnInWrap = tileInWrap * tileWidth;