need a new design of L4
This commit is contained in:
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user