Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.4.4
3.5.0
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ namespace VirtualClient.Actions
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using global::VirtualClient;
Expand All @@ -30,6 +32,10 @@ public void SetupTests()
[TestCase("PERF-SPECCPU-FPSPEED.json")]
[TestCase("PERF-SPECCPU-INTRATE.json")]
[TestCase("PERF-SPECCPU-INTSPEED.json")]
[TestCase("PERF-SPECCPU2026-FPRATE.json")]
[TestCase("PERF-SPECCPU2026-FPSPEED.json")]
[TestCase("PERF-SPECCPU2026-INTRATE.json")]
[TestCase("PERF-SPECCPU2026-INTSPEED.json")]
public void SpecCpuWorkloadProfileParametersAreInlinedCorrectly(string profile)
{
this.mockFixture.Setup(PlatformID.Unix);
Expand All @@ -39,6 +45,85 @@ public void SpecCpuWorkloadProfileParametersAreInlinedCorrectly(string profile)
}
}

[Test]
[TestCase("PERF-SPECCPU2026-FPRATE.json", Architecture.X64)]
[TestCase("PERF-SPECCPU2026-FPRATE.json", Architecture.Arm64)]
[TestCase("PERF-SPECCPU2026-FPSPEED.json", Architecture.X64)]
[TestCase("PERF-SPECCPU2026-FPSPEED.json", Architecture.Arm64)]
[TestCase("PERF-SPECCPU2026-INTRATE.json", Architecture.X64)]
[TestCase("PERF-SPECCPU2026-INTRATE.json", Architecture.Arm64)]
[TestCase("PERF-SPECCPU2026-INTSPEED.json", Architecture.X64)]
[TestCase("PERF-SPECCPU2026-INTSPEED.json", Architecture.Arm64)]
public void SpecCpu2026WorkloadProfileParametersAreInlinedCorrectlyOnWindows(string profile, Architecture architecture)
{
this.mockFixture.Setup(PlatformID.Win32NT, architecture);
using (ProfileExecutor executor = TestProfileResources.CreateProfileExecutor(profile, this.mockFixture.Dependencies))
{
WorkloadAssert.ParameterReferencesInlined(executor.Profile);
}
}

[Test]
[TestCase(
PlatformID.Unix,
Architecture.X64,
"",
"-g -O3 -march=native -frecord-gcc-switches",
"-g -Ofast -march=native -flto -frecord-gcc-switches")]
[TestCase(
PlatformID.Unix,
Architecture.Arm64,
"",
"-g -O3 -march=armv8-a -frecord-gcc-switches",
"-g -Ofast -march=armv8-a -flto -frecord-gcc-switches")]
[TestCase(
PlatformID.Win32NT,
Architecture.X64,
"",
"-g -O3 -march=native -frecord-gcc-switches",
"-g -Ofast -march=native -flto -frecord-gcc-switches")]
[TestCase(
PlatformID.Win32NT,
Architecture.Arm64,
"",
"-g -O3 -march=native -frecord-gcc-switches",
"-g -Ofast -march=native -flto -frecord-gcc-switches")]
public async Task SpecCpu2026WorkloadProfilesUseExpectedDefaultRecipes(
PlatformID platform,
Architecture architecture,
string expectedCompilerVersion,
string expectedBaseFlags,
string expectedPeakFlags)
{
string[] profiles =
{
"PERF-SPECCPU2026-FPRATE.json",
"PERF-SPECCPU2026-FPSPEED.json",
"PERF-SPECCPU2026-INTRATE.json",
"PERF-SPECCPU2026-INTSPEED.json"
};

this.mockFixture.Setup(platform, architecture);

foreach (string profile in profiles)
{
using (ProfileExecutor executor = TestProfileResources.CreateProfileExecutor(profile, this.mockFixture.Dependencies))
{
ExecutionProfileElement action = executor.Profile.Actions.Single();
ExecutionProfileElement compilerInstallation = executor.Profile.Dependencies.Single(
dependency => dependency.Type == "CompilerInstallation");

await ProfileExpressionEvaluator.Instance.EvaluateAsync(this.mockFixture.Dependencies, action.Parameters);

Assert.AreEqual(expectedCompilerVersion, compilerInstallation.Parameters["CompilerVersion"]);
Assert.AreEqual(expectedBaseFlags, action.Parameters["BaseOptimizingFlags"]);
Assert.AreEqual(expectedPeakFlags, action.Parameters["PeakOptimizingFlags"]);
Assert.AreEqual("12:00:00", executor.Profile.Metadata["RecommendedMinimumExecutionTime"]);
Assert.AreEqual("AzureLinux,CentOS,Debian,OpenSuse,RedHat,Ubuntu,Windows", executor.Profile.Metadata["SupportedOperatingSystems"]);
}
}
}

[Test]
[Ignore("We need to rethink how to do dependency testing with extension model.")]
[TestCase("PERF-SPECCPU-FPRATE.json")]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"Selected Results Table"

Benchmark,"Base # Copies","Est. Base Run Time","Est. Base Rate","Base Selected","Base Status","Peak # Copies","Est. Peak Run Time","Est. Peak Rate","Peak Selected","Peak Status",Description
706.stockfish_r,16,410.25,49.325,1,S,,,,,NR,"SelectedIteration (base #1; peak NR)"
SPECrate2026_int_base,49.325,,49.325
SPECrate2026_int_peak,"Not Run",,,,,,,"Not Run"
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"Selected Results Table"

Benchmark,"Base # Copies","Est. Base Run Time","Est. Base Rate","Base Selected","Base Status","Peak # Copies","Est. Peak Run Time","Est. Peak Rate","Peak Selected","Peak Status",Description
706.stockfish_r,16,410.25,49.325,1,S,16,390.5,51.75,1,S,"SelectedIteration (base #1; peak #1)"
SPECrate2026_int_base,49.325,,49.325
SPECrate2026_int_peak,51.75,,,,,,,51.75
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"Selected Results Table"

Benchmark,"Base # Threads","Est. Base Run Time","Est. Base Ratio","Base Selected","Base Status","Peak # Threads","Est. Peak Run Time","Est. Peak Ratio","Peak Selected","Peak Status",Description
800.pot3d_s,16,205.75,12.625,1,S,,,,,NR,"SelectedIteration (base #1; peak NR)"
SPECspeed2026_fp_base,12.625,,12.625
SPECspeed2026_fp_peak,"Not Run",,,,,,,"Not Run"
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"Selected Results Table"

Benchmark,"Base # Threads","Est. Base Run Time","Est. Base Ratio","Base Selected","Base Status","Peak # Threads","Est. Peak Run Time","Est. Peak Ratio","Peak Selected","Peak Status",Description
800.pot3d_s,16,205.75,12.625,1,S,16,190.25,13.875,1,S,"SelectedIteration (base #1; peak #1)"
SPECspeed2026_fp_base,12.625,,12.625
SPECspeed2026_fp_peak,13.875,,,,,,,13.875
Loading
Loading