summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichelle McDaniel <adiaaida@gmail.com>2018-08-02 07:28:01 -0700
committerGitHub <noreply@github.com>2018-08-02 07:28:01 -0700
commit87e2c7bac84eb910ae68da168386e706c0d4e731 (patch)
tree27c00e31a7029b8c339a77895c404191fd4d4943 /tests
parentd7191b58cfc263479f57b45084097b773d8c235a (diff)
downloadcoreclr-87e2c7bac84eb910ae68da168386e706c0d4e731.tar.gz
coreclr-87e2c7bac84eb910ae68da168386e706c0d4e731.tar.bz2
coreclr-87e2c7bac84eb910ae68da168386e706c0d4e731.zip
Add arm32 tp (#19098)
* Add Arm32 support to throughput scripts
Diffstat (limited to 'tests')
-rwxr-xr-xtests/scripts/perf-prep.sh12
-rw-r--r--tests/scripts/run-throughput-perf.py26
2 files changed, 23 insertions, 15 deletions
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):