From 87e2c7bac84eb910ae68da168386e706c0d4e731 Mon Sep 17 00:00:00 2001 From: Michelle McDaniel Date: Thu, 2 Aug 2018 07:28:01 -0700 Subject: Add arm32 tp (#19098) * Add Arm32 support to throughput scripts --- tests/scripts/perf-prep.sh | 12 ++++++++++-- tests/scripts/run-throughput-perf.py | 26 +++++++++++++------------- 2 files changed, 23 insertions(+), 15 deletions(-) (limited to 'tests') diff --git a/tests/scripts/perf-prep.sh b/tests/scripts/perf-prep.sh index cd37a55543..08db69b5f5 100755 --- a/tests/scripts/perf-prep.sh +++ b/tests/scripts/perf-prep.sh @@ -41,6 +41,9 @@ do --nocorefx) nocorefx=1 ;; + --arch=*) + perfArch=${i#*=} + ;; *) echo "Unknown switch: $i" print_usage @@ -67,8 +70,13 @@ if [ ! -d "./tests/scripts/Microsoft.Benchview.JSONFormat" ]; then fi # Install python 3.5.2 to run machinedata.py for machine data collection -python3 --version -python3 ./tests/scripts/Microsoft.BenchView.JSONFormat/tools/machinedata.py +if [ $perfArch == "arm" ]; then + python3.6 --version + python3.6 ./tests/scripts/Microsoft.BenchView.JSONFormat/tools/machinedata.py --machine-manufacturer NVIDIA +else + python3 --version + python3 ./tests/scripts/Microsoft.BenchView.JSONFormat/tools/machinedata.py +fi if [ $throughput -eq 1 ]; then # Download throughput benchmarks diff --git a/tests/scripts/run-throughput-perf.py b/tests/scripts/run-throughput-perf.py index 77a0811416..f8b70a03c4 100644 --- a/tests/scripts/run-throughput-perf.py +++ b/tests/scripts/run-throughput-perf.py @@ -87,7 +87,8 @@ jit_list = { 'x86lb': 'legacyjit.dll' }, 'Linux': { - 'x64': 'libclrjit.so' + 'x64': 'libclrjit.so', + 'arm': 'libclrjit.so' } } @@ -98,8 +99,14 @@ os_group_list = { } python_exe_list = { - 'Windows_NT': 'py', - 'Linux': 'python3.5' + 'Windows_NT': { + 'x64': 'py', + 'x86': 'py' + }, + 'Linux': { + 'x64': 'python3.5', + 'arm': 'python3.6' + } } ########################################################################## @@ -166,12 +173,12 @@ def validate_args(args): if not helper(arg): raise Exception('Argument: %s is not valid.' % (arg)) - valid_archs = {'Windows_NT': ['x86', 'x64'], 'Linux': ['x64']} + valid_archs = {'Windows_NT': ['x86', 'x64'], 'Linux': ['x64', 'arm']} valid_build_types = ['Release'] valid_run_types = ['rolling', 'private'] valid_os = ['Windows_NT', 'Ubuntu14.04', 'Ubuntu16.04'] valid_opt_levels = ['full_opt', 'min_opt'] - valid_jit_names = {'x64': ['ryujit'], 'x86': ['ryujit', 'legacy_backend']} + valid_jit_names = 'ryujit' arch = next((a for a in valid_archs if a.lower() == arch.lower()), arch) build_type = next((b for b in valid_build_types if b.lower() == build_type.lower()), build_type) @@ -300,10 +307,6 @@ def runIterations(dll_name, dll_path, iterations, crossgen_path, jit_path, assem if opt_level == 'min_opt': my_env['COMPlus_JITMinOpts'] = '1' - if jit_name == 'legacy_backend': - my_env['COMPlus_AltJit'] = '*' - my_env['COMPlus_AltJitNgen'] = '*' - log(" ".join(run_args)) # Time.clock() returns seconds, with a resolution of 0.4 microseconds, so multiply by the multiplier to get milliseconds @@ -339,9 +342,6 @@ def main(args): architecture, operating_system, os_group, build_type, run_type, clr_root, assembly_root, benchview_path, iterations, opt_level, jit_name, no_pgo = validate_args(args) arch = architecture - if jit_name == 'legacy_backend': - architecture = 'x86lb' - pgo_string = 'pgo' if no_pgo: @@ -371,7 +371,7 @@ def main(args): # Replace assembly_root's System.Private.CoreLib with built System.Private.CoreLib. shutil.copyfile(os.path.join(bin_path, 'System.Private.CoreLib.dll'), os.path.join(assembly_root, 'System.Private.CoreLib.dll')) - python_exe = python_exe_list[os_group] + python_exe = python_exe_list[os_group][arch] # Run throughput testing for dll_file_name in os.listdir(assembly_root): -- cgit v1.2.3