almulkammetov_bulat_lab_6 #97
almukhammetov_bulat_lab_6
MatrixDeterminant
.vs
MatrixDeterminant
DesignTimeBuild
FileContentIndex
v17
MatrixMultiplication
DesignTimeBuild
FileContentIndex
ProjectEvaluation
MatrixDeterminant
MatrixDeterminant.csprojProgram.cs
bin/Debug/net8.0
MatrixDeterminant.deps.jsonMatrixDeterminant.dllMatrixDeterminant.exeMatrixDeterminant.pdbMatrixDeterminant.runtimeconfig.json
obj
Debug/net8.0
.NETCoreApp,Version=v8.0.AssemblyAttributes.csMatrixDeterminant.AssemblyInfo.csMatrixDeterminant.AssemblyInfoInputs.cacheMatrixDeterminant.GeneratedMSBuildEditorConfig.editorconfigMatrixDeterminant.GlobalUsings.g.csMatrixDeterminant.assets.cacheMatrixDeterminant.csproj.BuildWithSkipAnalyzersMatrixDeterminant.csproj.CoreCompileInputs.cacheMatrixDeterminant.csproj.FileListAbsolute.txtMatrixDeterminant.dllMatrixDeterminant.genruntimeconfig.cacheMatrixDeterminant.pdbapphost.exe
MatrixDeterminant.csproj.nuget.dgspec.jsonMatrixDeterminant.csproj.nuget.g.propsMatrixDeterminant.csproj.nuget.g.targetsproject.assets.jsonproject.nuget.cacheref
refint
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixDeterminant/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixDeterminant/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixDeterminant/FileContentIndex/c616e5fd-0c28-4a89-bbfd-dc64561780b6.vsidx
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixDeterminant/FileContentIndex/c616e5fd-0c28-4a89-bbfd-dc64561780b6.vsidx
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/FileContentIndex/49e2c359-59ef-40c9-8690-362984862938.vsidx
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/FileContentIndex/49e2c359-59ef-40c9-8690-362984862938.vsidx
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/FileContentIndex/4aa3cae0-5247-4e5e-86bd-52b38704cdf7.vsidx
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/FileContentIndex/4aa3cae0-5247-4e5e-86bd-52b38704cdf7.vsidx
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/FileContentIndex/8e0ba479-e194-41b8-a3b3-1a755ceffbd7.vsidx
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/MatrixMultiplication/FileContentIndex/8e0ba479-e194-41b8-a3b3-1a755ceffbd7.vsidx
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixdeterminant.metadata.v7.bin
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixdeterminant.metadata.v7.bin
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixdeterminant.projects.v7.bin
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixdeterminant.projects.v7.bin
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixmultiplication.metadata.v7.bin
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixmultiplication.metadata.v7.bin
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixmultiplication.projects.v7.bin
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/.vs/ProjectEvaluation/matrixmultiplication.projects.v7.bin
Normal file
Binary file not shown.
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.8.34330.188
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixDeterminant", "MatrixDeterminant\MatrixDeterminant.csproj", "{1DB9E237-2513-4A52-92E6-D71828122D83}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{1DB9E237-2513-4A52-92E6-D71828122D83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1DB9E237-2513-4A52-92E6-D71828122D83}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1DB9E237-2513-4A52-92E6-D71828122D83}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1DB9E237-2513-4A52-92E6-D71828122D83}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {00207152-6054-4EBA-9B31-E22685B75110}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
10
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/MatrixDeterminant.csproj
Normal file
10
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/MatrixDeterminant.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
@ -0,0 +1,199 @@
|
|||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите количество потоков:");
|
||||||
|
string input = Console.ReadLine();
|
||||||
|
|
||||||
|
|
||||||
|
if (!int.TryParse(input, out int threadCount))
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введено некорректное значение, будет использовано значение по умолчанию: 4");
|
||||||
|
threadCount = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Генерация матриц
|
||||||
|
int[,] matrix6 = GenerateMatrix(6, 6);
|
||||||
|
int[,] matrix8 = GenerateMatrix(8, 8);
|
||||||
|
int[,] matrix10 = GenerateMatrix(10, 10);
|
||||||
|
|
||||||
|
// Счетчики для расчета среднего
|
||||||
|
long totalTimeSeq6 = 0, totalTimePar6 = 0;
|
||||||
|
long totalTimeSeq8 = 0, totalTimePar8 = 0;
|
||||||
|
long totalTimeSeq10 = 0, totalTimePar10 = 0;
|
||||||
|
long totalMemorySeq6 = 0, totalMemoryPart6 = 0;
|
||||||
|
long totalMemorySeq8 = 0, totalMemoryPar8 = 0;
|
||||||
|
long totalMemorySeq10 = 0, totalMemoryPar10 = 0;
|
||||||
|
|
||||||
|
int iterations = 10;
|
||||||
|
|
||||||
|
for (int i = 0; i < iterations; i++)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Прогон #{i + 1}:\n");
|
||||||
|
|
||||||
|
// 6x6
|
||||||
|
var (timeSeq6, memSeq6, timePar6, memPar6) = TestMatrixOperation(matrix6, threadCount);
|
||||||
|
totalTimeSeq6 += timeSeq6;
|
||||||
|
totalTimePar6 += timePar6;
|
||||||
|
totalMemorySeq6 += memSeq6;
|
||||||
|
totalMemoryPart6 += memPar6;
|
||||||
|
|
||||||
|
// 8x8
|
||||||
|
var (timeSeq8, memSeq8, timePar8, memPar8) = TestMatrixOperation(matrix8, threadCount);
|
||||||
|
totalTimeSeq8 += timeSeq8;
|
||||||
|
totalTimePar8 += timePar8;
|
||||||
|
totalMemorySeq8 += memSeq8;
|
||||||
|
totalMemoryPar8 += memPar8;
|
||||||
|
|
||||||
|
// 10x10
|
||||||
|
var (timeSeq10, memSeq10, timePar10, memPar10) = TestMatrixOperation(matrix10, threadCount);
|
||||||
|
totalTimeSeq10 += timeSeq10;
|
||||||
|
totalTimePar10 += timePar10;
|
||||||
|
totalMemorySeq10 += memSeq10;
|
||||||
|
totalMemoryPar10 += memPar10;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Вывод средних значений
|
||||||
|
Console.WriteLine($"\nСреднее время (мс) и расход памяти (байт) для последовательного и параллельного определения детерминанта:");
|
||||||
|
|
||||||
|
Console.WriteLine($"6x6: Последовательно: Время: {totalTimeSeq6 / iterations} мс, Память: {totalMemorySeq6 / iterations} байт");
|
||||||
|
Console.WriteLine($"6x6: Параллельно: Время: {totalTimePar6 / iterations} мс, Память: {totalMemoryPart6 / iterations} байт");
|
||||||
|
|
||||||
|
Console.WriteLine($"8x8: Последовательно: Время: {totalTimeSeq8 / iterations} мс, Память: {totalMemorySeq8 / iterations} байт");
|
||||||
|
Console.WriteLine($"8x8: Параллельно: Время: {totalTimePar8 / iterations} мс, Память: {totalMemoryPar8 / iterations} байт");
|
||||||
|
|
||||||
|
Console.WriteLine($"10x10: Последовательно: Время: {totalTimeSeq10 / iterations} мс, Память: {totalMemorySeq10 / iterations} байт");
|
||||||
|
Console.WriteLine($"10x10: Параллельно: Время: {totalTimePar10 / iterations} мс, Память: {totalMemoryPar10 / iterations} байт");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Генерация матрицы
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="rows"></param>
|
||||||
|
/// <param name="cols"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
static int[,] GenerateMatrix(int rows, int cols)
|
||||||
|
{
|
||||||
|
var random = new Random();
|
||||||
|
int[,] matrix = new int[rows, cols];
|
||||||
|
|
||||||
|
for (int i = 0; i < rows; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < cols; j++)
|
||||||
|
{
|
||||||
|
matrix[i, j] = random.Next(100); //Гененрируем значение матриц до 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return matrix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Подсчет времени и потребляемой памяти, высчитывание точного времени
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="a"></param>
|
||||||
|
/// <param name="b"></param>
|
||||||
|
/// <param name="threadCount"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
static (long, long, long, long) TestMatrixOperation(int[,] matrix, int threadCount)
|
||||||
|
{
|
||||||
|
if (!IsSquareMatrix(matrix))
|
||||||
|
{
|
||||||
|
Console.WriteLine("Матрица не квадратная.");
|
||||||
|
return (0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Stopwatch stopwatch = new();
|
||||||
|
|
||||||
|
// Последовательное вычисление детерминанта
|
||||||
|
long memoryBeforeSeq = GC.GetTotalMemory(true);
|
||||||
|
stopwatch.Start();
|
||||||
|
var resultSequential = DeterminantSequential(matrix);
|
||||||
|
stopwatch.Stop();
|
||||||
|
long memoryAfterSeq = GC.GetTotalMemory(true);
|
||||||
|
long timeSeq = stopwatch.ElapsedMilliseconds;
|
||||||
|
long memoryUsedSeq = memoryAfterSeq - memoryBeforeSeq;
|
||||||
|
Console.WriteLine($"Последовательно: Время: {timeSeq} мс, Память: {memoryUsedSeq} байт");
|
||||||
|
|
||||||
|
// Параллельное вычисления детерминанта
|
||||||
|
long memoryBeforePar = GC.GetTotalMemory(true);
|
||||||
|
stopwatch.Restart();
|
||||||
|
var resultParallel = DeterminantParallel(matrix, threadCount);
|
||||||
|
stopwatch.Stop();
|
||||||
|
long memoryAfterPar = GC.GetTotalMemory(true);
|
||||||
|
long timePar = stopwatch.ElapsedMilliseconds;
|
||||||
|
long memoryUsedPar = memoryAfterPar - memoryBeforePar;
|
||||||
|
Console.WriteLine($"Параллельно: Время: {timePar} мс, Память: {memoryUsedPar} байт");
|
||||||
|
|
||||||
|
return (timeSeq, memoryUsedSeq, timePar, memoryUsedPar);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool IsSquareMatrix(int[,] matrix)
|
||||||
|
{
|
||||||
|
return matrix.GetLength(0) == matrix.GetLength(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double DeterminantParallel(int[,] matrix, int threadCount)
|
||||||
|
{
|
||||||
|
int size = matrix.GetLength(0);
|
||||||
|
if (size == 1) return matrix[0, 0];
|
||||||
|
if (size == 2) return matrix[0, 0] * matrix[1, 1] - matrix[0, 1] * matrix[1, 0];
|
||||||
|
|
||||||
|
double det = 0;
|
||||||
|
var tasks = new Task<double>[size];
|
||||||
|
|
||||||
|
for (int k = 0; k < size; k++)
|
||||||
|
{
|
||||||
|
int kLocal = k;
|
||||||
|
tasks[kLocal] = Task.Factory.StartNew(() =>
|
||||||
|
{
|
||||||
|
return (kLocal % 2 == 0 ? 1 : -1) * matrix[0, kLocal] * DeterminantSequential(CreateSmallerMatrix(matrix, 0, kLocal));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Task.WaitAll(tasks);
|
||||||
|
|
||||||
|
foreach (var task in tasks)
|
||||||
|
{
|
||||||
|
det += task.Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return det;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double DeterminantSequential(int[,] matrix)
|
||||||
|
{
|
||||||
|
int size = matrix.GetLength(0);
|
||||||
|
if (size == 1) return matrix[0, 0];
|
||||||
|
if (size == 2) return matrix[0, 0] * matrix[1, 1] - matrix[0, 1] * matrix[1, 0];
|
||||||
|
|
||||||
|
double det = 0;
|
||||||
|
for (int k = 0; k < size; k++)
|
||||||
|
{
|
||||||
|
det += (k % 2 == 0 ? 1 : -1) * matrix[0, k] * DeterminantSequential(CreateSmallerMatrix(matrix, 0, k));
|
||||||
|
}
|
||||||
|
return det;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int[,] CreateSmallerMatrix(int[,] matrix, int excludingRow, int excludingCol)
|
||||||
|
{
|
||||||
|
int size = matrix.GetLength(0);
|
||||||
|
int[,] smallerMatrix = new int[size - 1, size - 1];
|
||||||
|
int i = 0, j = 0;
|
||||||
|
for (int row = 0; row < size; row++)
|
||||||
|
{
|
||||||
|
if (row == excludingRow) continue;
|
||||||
|
j = 0;
|
||||||
|
for (int col = 0; col < size; col++)
|
||||||
|
{
|
||||||
|
if (col == excludingCol) continue;
|
||||||
|
smallerMatrix[i, j] = matrix[row, col];
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return smallerMatrix;
|
||||||
|
}
|
||||||
|
}
|
23
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.deps.json
Normal file
23
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.deps.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v8.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v8.0": {
|
||||||
|
"MatrixDeterminant/1.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"MatrixDeterminant.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"MatrixDeterminant/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.dll
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.dll
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.exe
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.exe
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.pdb
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.pdb
Normal file
Binary file not shown.
12
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.runtimeconfig.json
Normal file
12
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/bin/Debug/net8.0/MatrixDeterminant.runtimeconfig.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net8.0",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "8.0.0"
|
||||||
|
},
|
||||||
|
"configProperties": {
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
4
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
Normal file
4
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
23
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.AssemblyInfo.cs
Normal file
23
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.AssemblyInfo.cs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Этот код создан программой.
|
||||||
|
// Исполняемая версия:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||||
|
// повторной генерации кода.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("MatrixDeterminant")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a346187851ddda07b6b4d0de75645f9c8d61bee4")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("MatrixDeterminant")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("MatrixDeterminant")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Создано классом WriteCodeFragment MSBuild.
|
||||||
|
|
1
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.AssemblyInfoInputs.cache
Normal file
1
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.AssemblyInfoInputs.cache
Normal file
@ -0,0 +1 @@
|
|||||||
|
b62c0f7623532347296dfda403f8e24f24f5ff22aefaec77949419a46c5345d5
|
@ -0,0 +1,13 @@
|
|||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net8.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = MatrixDeterminant
|
||||||
|
build_property.ProjectDir = D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\
|
||||||
|
build_property.EnableComHosting =
|
||||||
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
8
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.GlobalUsings.g.cs
Normal file
8
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.GlobalUsings.g.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.assets.cache
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.assets.cache
Normal file
Binary file not shown.
0
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.csproj.BuildWithSkipAnalyzers
Normal file
0
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.csproj.BuildWithSkipAnalyzers
Normal file
@ -0,0 +1 @@
|
|||||||
|
ef307266d2e10f095868927517f210f889e62282297f57f931d2f69a9e50026d
|
14
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.csproj.FileListAbsolute.txt
Normal file
14
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.csproj.FileListAbsolute.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\bin\Debug\net8.0\MatrixDeterminant.exe
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\bin\Debug\net8.0\MatrixDeterminant.deps.json
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\bin\Debug\net8.0\MatrixDeterminant.runtimeconfig.json
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\bin\Debug\net8.0\MatrixDeterminant.dll
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\bin\Debug\net8.0\MatrixDeterminant.pdb
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.AssemblyInfoInputs.cache
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.AssemblyInfo.cs
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.csproj.CoreCompileInputs.cache
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.dll
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\refint\MatrixDeterminant.dll
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.pdb
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\MatrixDeterminant.genruntimeconfig.cache
|
||||||
|
D:\Документы\GitHub\DAS_2023_1\almukhammetov_bulat_lab_6\MatrixDeterminant\MatrixDeterminant\obj\Debug\net8.0\ref\MatrixDeterminant.dll
|
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.dll
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.dll
Normal file
Binary file not shown.
1
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.genruntimeconfig.cache
Normal file
1
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.genruntimeconfig.cache
Normal file
@ -0,0 +1 @@
|
|||||||
|
1b145bab19aa88d8a557ef3b507e35905f65a9a8609aee764b5fcea1fa8d8e00
|
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.pdb
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/MatrixDeterminant.pdb
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/apphost.exe
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/apphost.exe
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/ref/MatrixDeterminant.dll
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/ref/MatrixDeterminant.dll
Normal file
Binary file not shown.
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/refint/MatrixDeterminant.dll
Normal file
BIN
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/Debug/net8.0/refint/MatrixDeterminant.dll
Normal file
Binary file not shown.
63
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/MatrixDeterminant.csproj.nuget.dgspec.json
Normal file
63
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/MatrixDeterminant.csproj.nuget.dgspec.json
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj",
|
||||||
|
"projectName": "MatrixDeterminant",
|
||||||
|
"projectPath": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\73bul\\.nuget\\packages\\",
|
||||||
|
"outputPath": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\73bul\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net8.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net8.0": {
|
||||||
|
"targetAlias": "net8.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net8.0": {
|
||||||
|
"targetAlias": "net8.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.100/PortableRuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/MatrixDeterminant.csproj.nuget.g.props
Normal file
15
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/MatrixDeterminant.csproj.nuget.g.props
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||||
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\73bul\.nuget\packages\</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.0</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<SourceRoot Include="C:\Users\73bul\.nuget\packages\" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
2
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/MatrixDeterminant.csproj.nuget.g.targets
Normal file
2
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/MatrixDeterminant.csproj.nuget.g.targets
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
68
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/project.assets.json
Normal file
68
almukhammetov_bulat_lab_6/MatrixDeterminant/MatrixDeterminant/obj/project.assets.json
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"targets": {
|
||||||
|
"net8.0": {}
|
||||||
|
},
|
||||||
|
"libraries": {},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
"net8.0": []
|
||||||
|
},
|
||||||
|
"packageFolders": {
|
||||||
|
"C:\\Users\\73bul\\.nuget\\packages\\": {}
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj",
|
||||||
|
"projectName": "MatrixDeterminant",
|
||||||
|
"projectPath": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\73bul\\.nuget\\packages\\",
|
||||||
|
"outputPath": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\73bul\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net8.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net8.0": {
|
||||||
|
"targetAlias": "net8.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net8.0": {
|
||||||
|
"targetAlias": "net8.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.100/PortableRuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "MsjFdrVex7ttbRwfezwe/tnb8JGwMSbJj+thkzYqpP+mHl2nw6UaJRTSe1NicG4pO9pjA0Kh2kDV/8LiPVKpkQ==",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "D:\\Документы\\GitHub\\DAS_2023_1\\almukhammetov_bulat_lab_6\\MatrixDeterminant\\MatrixDeterminant\\MatrixDeterminant.csproj",
|
||||||
|
"expectedPackageFiles": [],
|
||||||
|
"logs": []
|
||||||
|
}
|
137
almukhammetov_bulat_lab_6/README.md
Normal file
137
almukhammetov_bulat_lab_6/README.md
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
Альмухамметов ПИбд-42
|
||||||
|
|
||||||
|
Описание программы:
|
||||||
|
|
||||||
|
Эта программа предназначена для расчета детерминанта квадратных матриц с использованием как последовательных, так и параллельных вычислений. Она позволяет оценить и сравнить производительность и использование памяти обоих методов.
|
||||||
|
|
||||||
|
Основные функции программы:
|
||||||
|
|
||||||
|
Ввод количества потоков: Пользователь может ввести количество потоков, которые будут использоваться для параллельных вычислений. Если введено некорректное значение, по умолчанию используется 4 потока.
|
||||||
|
|
||||||
|
Генерация матриц: Программа генерирует квадратные матрицы заданных размеров (6x6, 8x8 и 10x10) со случайными значениями.
|
||||||
|
|
||||||
|
Тестирование производительности: Программа выполняет расчет детерминанта для каждой сгенерированной матрицы, используя последовательные и параллельные вычисления. Это повторяется 10 раз для получения средних значений времени выполнения и использованной памяти.
|
||||||
|
|
||||||
|
Вывод результатов: После тестирования программа выводит средние значения времени выполнения и использованной памяти для последовательных и параллельных вычислений для каждого размера матрицы.
|
||||||
|
|
||||||
|
Основные методы программы:
|
||||||
|
|
||||||
|
GenerateMatrix(int rows, int cols): Генерирует матрицу заданного размера с случайными значениями.
|
||||||
|
|
||||||
|
TestMatrixOperation(int[,] matrix, int threadCount): Выполняет расчет детерминанта для заданной матрицы обоими методами и измеряет время выполнения и использованную память.
|
||||||
|
|
||||||
|
IsSquareMatrix(int[,] matrix): Проверяет, является ли матрица квадратной.
|
||||||
|
|
||||||
|
DeterminantParallel(int[,] matrix, int threadCount): Вычисляет детерминант матрицы, используя параллельные вычисления.
|
||||||
|
|
||||||
|
DeterminantSequential(int[,] matrix): Вычисляет детерминант матрицы последовательным методом.
|
||||||
|
|
||||||
|
CreateSmallerMatrix(int[,] matrix, int excludingRow, int excludingCol): Создает меньшую матрицу путем исключения заданной строки и столбца из исходной матрицы.
|
||||||
|
|
||||||
|
Проверка работоспособности:
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Результаты:
|
||||||
|
|
||||||
|
Введите количество потоков:
|
||||||
|
2
|
||||||
|
Прогон #1:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 6 мс, Память: 640 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 5 мс, Память: 832 байт
|
||||||
|
Последовательно: Время: 389 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 121 мс, Память: 4744 байт
|
||||||
|
Прогон #2:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 324 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 77 мс, Память: 0 байт
|
||||||
|
Прогон #3:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 336 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 75 мс, Память: 0 байт
|
||||||
|
Прогон #4:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 317 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 75 мс, Память: 0 байт
|
||||||
|
Прогон #5:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 324 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 74 мс, Память: 0 байт
|
||||||
|
Прогон #6:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 322 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 77 мс, Память: 0 байт
|
||||||
|
Прогон #7:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 341 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 74 мс, Память: 0 байт
|
||||||
|
Прогон #8:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 319 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 74 мс, Память: 0 байт
|
||||||
|
Прогон #9:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 1 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 337 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 76 мс, Память: 0 байт
|
||||||
|
Прогон #10:
|
||||||
|
|
||||||
|
Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 0 мс, Память: 0 байт
|
||||||
|
Последовательно: Время: 348 мс, Память: 0 байт
|
||||||
|
Параллельно: Время: 78 мс, Память: 0 байт
|
||||||
|
|
||||||
|
Среднее время (мс) и расход памяти (байт) для последовательного и параллельного определения детерминанта:
|
||||||
|
6x6: Последовательно: Время: 0 мс, Память: 0 байт
|
||||||
|
6x6: Параллельно: Время: 0 мс, Память: 64 байт
|
||||||
|
8x8: Последовательно: Время: 3 мс, Память: 0 байт
|
||||||
|
8x8: Параллельно: Время: 1 мс, Память: 83 байт
|
||||||
|
10x10: Последовательно: Время: 335 мс, Память: 0 байт
|
||||||
|
10x10: Параллельно: Время: 80 мс, Память: 474 байт
|
||||||
|
|
||||||
|
Выводы:
|
||||||
|
|
||||||
|
1. Для небольших матриц (6x6 и 8x8) разница во времени выполнения между последовательным и параллельным методами незначительна. Однако при увеличении размера матрицы до 10x10 параллельные вычисления значительно ускоряют процесс.
|
||||||
|
2. Параллельные вычисления требуют немного больше памяти. Это связано дополнительными затратами на создание и управление потоками.
|
||||||
|
3. Параллельное выполнение становится более выгодным с увеличением сложности задачи, что видно из значительного уменьшения времени вычислений для 10x10 матрицы.
|
||||||
|
|
||||||
|
Видео:
|
||||||
|
|
||||||
|
https://vk.com/video228053206_456240783?list=ln-gr1nvdhEV3ZZ74iKE0
|
BIN
almukhammetov_bulat_lab_6/image-1.png
Normal file
BIN
almukhammetov_bulat_lab_6/image-1.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 439 KiB |
BIN
almukhammetov_bulat_lab_6/image.png
Normal file
BIN
almukhammetov_bulat_lab_6/image.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 441 KiB |
Loading…
x
Reference in New Issue
Block a user