need a new design of L4

This commit is contained in:
Youmu Liu
2026-04-17 18:13:45 +08:00
parent f999e88629
commit f2560f3d5b
2 changed files with 5 additions and 2 deletions
@@ -60,7 +60,7 @@ namespace StgSharp.Mathematics.Numeric
/**/ /**/
// Console.WriteLine($"amount of kernels is {count}"); // Console.WriteLine($"amount of kernels is {count}");
ulong payload = 0; long payload = 0;
int payloadIndex = 0; int payloadIndex = 0;
ulong additionalPayload = 0; ulong additionalPayload = 0;
for (int i = 0; i < _numaMeasurements.Length; i++) for (int i = 0; i < _numaMeasurements.Length; i++)
@@ -74,13 +74,14 @@ namespace StgSharp.Mathematics.Numeric
NumaMeasurement measure = _numaMeasurements[i]; NumaMeasurement measure = _numaMeasurements[i];
ulong numaPayload = measure.ActiveTasks; ulong numaPayload = measure.ActiveTasks;
uint numaActive = measure.ActiveThreadCount; uint numaActive = measure.ActiveThreadCount;
ulong curPayload = Math.Min((numaPayload + additionalPayload + 63) / 64, total) - numaActive; long curPayload = ((long)total) - (((long)(numaPayload + additionalPayload + 63)) / 64);
if (curPayload > payload) if (curPayload > payload)
{ {
payload = curPayload; payload = curPayload;
payloadIndex = i; payloadIndex = i;
} }
} }
L4 cache = _numaBuffer[payloadIndex];
MatrixParallelThread[] selectedNuma = _numaThreads[payloadIndex]; MatrixParallelThread[] selectedNuma = _numaThreads[payloadIndex];
throw new NotImplementedException(); throw new NotImplementedException();
} }
@@ -42,6 +42,8 @@ namespace StgSharp.Mathematics.Numeric.Runtime
} }
internal unsafe struct MatrixExecutionHandle { }
[StructLayout(LayoutKind.Explicit)] [StructLayout(LayoutKind.Explicit)]
internal unsafe struct MatrixParallelTask internal unsafe struct MatrixParallelTask
{ {