Daily update on 20250921-173333 by Nitload Youmu. Additional Message : New design of matrix enumeration, capable for parallel task publication.
Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
@@ -57,45 +57,13 @@ namespace StgSharp
|
||||
|
||||
// 7. 线程状态监控测试
|
||||
Console.WriteLine("=== 线程状态监控测试 ===");
|
||||
TestThreadStateMonitoring();
|
||||
|
||||
// TestThreadStateMonitoring();
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("? MatrixParallel 分层线程调度系统空跑测试完成");
|
||||
}
|
||||
|
||||
private static bool TestInitialization()
|
||||
{
|
||||
if (!MatrixParallel.SupportParallel)
|
||||
{
|
||||
Console.WriteLine("? 跳过初始化测试 - 系统不支持并行处理");
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Console.WriteLine("正在初始化 MatrixParallel...");
|
||||
MatrixParallel.Init();
|
||||
Console.WriteLine("? MatrixParallel 初始化成功");
|
||||
|
||||
|
||||
// 检查 LeaderHandle 是否正确设置
|
||||
if (MatrixParallel.LeaderHandle != null)
|
||||
{
|
||||
Console.WriteLine($"? LeaderHandle 已创建,Wrap ID: {MatrixParallel.LeaderHandle.Wrap.ID}");
|
||||
} else
|
||||
{
|
||||
Console.WriteLine("? LeaderHandle 未正确设置");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"? 初始化失败: {ex.Message}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static void TestParallelControlFlow()
|
||||
{
|
||||
try
|
||||
@@ -121,7 +89,7 @@ namespace StgSharp
|
||||
MatrixParallel.SetAllWrap();
|
||||
|
||||
// 发布任务(空任务)
|
||||
MatrixParallel.PublishTask();
|
||||
// MatrixParallel.PublishTask();
|
||||
|
||||
// 短暂等待,模拟实际工作
|
||||
Thread.Sleep(10 + i * 5);
|
||||
@@ -162,7 +130,8 @@ namespace StgSharp
|
||||
|
||||
MatrixParallel.LaunchParallel(SleepMode.QuickWakeup);
|
||||
MatrixParallel.SetAllWrap();
|
||||
MatrixParallel.PublishTask();
|
||||
|
||||
// MatrixParallel.PublishTask();
|
||||
|
||||
|
||||
// 极短暂的等待
|
||||
|
||||
@@ -1,3 +1,33 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// -----------------------------------------------------------------------
|
||||
// file="MatrixParallelThreadTest.cs"
|
||||
// Project: StgSharp
|
||||
// AuthorGroup: Nitload Space
|
||||
// Copyright (c) Nitload Space. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the “Software”), to deal in the Software without restriction,
|
||||
// including without limitation the rights to use, copy, modify, merge,
|
||||
// publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
// and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and
|
||||
// this permission notice shall be included in all copies
|
||||
// or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED “AS IS”,
|
||||
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH
|
||||
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
// -----------------------------------------------------------------------
|
||||
// -----------------------------------------------------------------------
|
||||
using StgSharp.Mathematics;
|
||||
using System;
|
||||
using System.Threading;
|
||||
@@ -59,7 +89,7 @@ namespace StgSharp
|
||||
Console.WriteLine("已通知所有Wrap开始工作");
|
||||
|
||||
// 发布任务(当前为空实现)
|
||||
MatrixParallel.PublishTask();
|
||||
// MatrixParallel.PublishTask();
|
||||
Console.WriteLine("任务发布完成");
|
||||
|
||||
// 等待一段时间让线程执行
|
||||
|
||||
@@ -59,29 +59,21 @@ namespace StgSharp
|
||||
{
|
||||
try
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
World.Init();
|
||||
|
||||
TestMatrixParallel();
|
||||
|
||||
// 原有的矩阵测试代码
|
||||
=======
|
||||
MatrixParallelThreadTest.TestMatrixParallelThreadScheduling();
|
||||
/*
|
||||
>>>>>>> 8007eee8461498a85a9515e8fd076f03cb552b64
|
||||
HybridLayerSegregatedFitAllocator hlsf = new HybridLayerSegregatedFitAllocator(64 * 400 * 400);
|
||||
|
||||
Matrix<float> m = Matrix<float>.FromHlsf(400, 200, hlsf);
|
||||
|
||||
int i = 0, ii = 0;
|
||||
<<<<<<< HEAD
|
||||
foreach (Segment lines in m.GetRowEnumeration())
|
||||
=======
|
||||
foreach (MatrixSegment lines in m.GetRowEnumeration())
|
||||
>>>>>>> 8007eee8461498a85a9515e8fd076f03cb552b64
|
||||
|
||||
foreach (MatrixSegment<float> lines in m.GetRowEnumeration())
|
||||
{
|
||||
i = 0;
|
||||
foreach (MatrixKernel* item in lines)
|
||||
foreach (MatrixKernel<float>* item in lines)
|
||||
{
|
||||
i++;
|
||||
Console.WriteLine(i);
|
||||
|
||||
Reference in New Issue
Block a user