Skip to content

Commit a729794

Browse files
committed
Cleanup
1 parent b06725f commit a729794

File tree

5 files changed

+45
-72
lines changed

5 files changed

+45
-72
lines changed

eng/pipelines/coreclr/superpmi-replay.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ jobs:
2020
buildConfig: checked
2121
platforms:
2222
- windows_x64
23-
# - windows_x86
23+
- windows_x86
2424
jobParameters:
2525
uploadAsArtifacts: true
2626

27-
# - template: /eng/pipelines/common/platform-matrix.yml
28-
# parameters:
29-
# jobTemplate: /eng/pipelines/coreclr/templates/superpmi-replay-job.yml
30-
# buildConfig: checked
31-
# platforms:
32-
# - windows_x64
33-
# - windows_x86
34-
# helixQueueGroup: ci
35-
# helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
27+
- template: /eng/pipelines/common/platform-matrix.yml
28+
parameters:
29+
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-replay-job.yml
30+
buildConfig: checked
31+
platforms:
32+
- windows_x64
33+
- windows_x86
34+
helixQueueGroup: ci
35+
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml

eng/pipelines/coreclr/templates/build-jit-job.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,6 @@ jobs:
8181
- ${{ parameters.variables }}
8282

8383
steps:
84-
- script: |
85-
echo $(uploadAsArtifacts)
86-
echo ${{ parameters.uploadAsArtifacts }}
8784

8885
# Install native dependencies
8986
# Linux builds use docker images with dependencies preinstalled,

src/coreclr/scripts/superpmi-replay.proj

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
<!-- <PropertyGroup>
1313
<HelixTargetQueues>Some_Queue</HelixTargetQueues>
14-
<WorkItemDirectory>E:\temp\replay-setup\workitem</WorkItemDirectory>
1514
<Platform>Windows</Platform>
1615
<Architecture>x64</Architecture>
1716
</PropertyGroup>
@@ -45,14 +44,14 @@
4544

4645
<ItemGroup Condition="'$(Architecture)' == 'x64'">
4746
<SPMI_Partition Include="win-x64" Platform="windows" Architecture="x64" />
48-
<!-- <SPMI_Partition Include="win-arm64" Platform="windows" Architecture="arm64" />
47+
<SPMI_Partition Include="win-arm64" Platform="windows" Architecture="arm64" />
4948
<SPMI_Partition Include="unix-x64" Platform="Linux" Architecture="x64" />
50-
<SPMI_Partition Include="unix-arm64" Platform="Linux" Architecture="arm64" /> -->
49+
<SPMI_Partition Include="unix-arm64" Platform="Linux" Architecture="arm64" />
5150
</ItemGroup>
5251

5352
<ItemGroup Condition="'$(Architecture)' == 'x86'">
5453
<SPMI_Partition Include="win-x86" Platform="windows" Architecture="x86" />
55-
<!-- <SPMI_Partition Include="unix-arm" Platform="Linux" Architecture="arm" /> -->
54+
<SPMI_Partition Include="unix-arm" Platform="Linux" Architecture="arm" />
5655
</ItemGroup>
5756

5857
<ItemGroup>

src/coreclr/scripts/superpmi-replay.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
#!/usr/bin/env python3
2+
#
3+
# Licensed to the .NET Foundation under one or more agreements.
4+
# The .NET Foundation licenses this file to you under the MIT license.
5+
#
6+
##
7+
# Title : superpmi_setup.py
8+
#
9+
# Notes:
10+
#
11+
# Script to run "superpmi replay" for various collections under various COMPlus_JitStressRegs value.
12+
################################################################################
13+
################################################################################
14+
115

216
import argparse
317
from os import path
@@ -23,7 +37,8 @@
2337
"JitStressRegs=0x10",
2438
"JitStressRegs=0x80",
2539
"JitStressRegs=0x1000",
26-
]
40+
]
41+
2742

2843
def setup_args(args):
2944
""" Setup the args for SuperPMI to use.
@@ -60,6 +75,7 @@ def setup_args(args):
6075

6176
return coreclr_args
6277

78+
6379
def main(main_args):
6480
"""Main entrypoint
6581
@@ -70,32 +86,30 @@ def main(main_args):
7086
python_path = sys.executable
7187
cwd = os.path.dirname(os.path.realpath(__file__))
7288
coreclr_args = setup_args(main_args)
73-
# mch_directory = coreclr_args.mch_directory
7489
spmi_location = path.join(cwd, "artifacts", "spmi")
7590
log_directory = coreclr_args.log_directory
76-
mch_filename = ''
7791
platform_name = coreclr_args.platform
7892
os_name = "win" if platform_name.lower() == "windows" else "unix"
7993
arch_name = coreclr_args.arch
8094
host_arch_name = "x64" if arch_name.endswith("64") else "x86"
8195
jit_path = path.join(coreclr_args.jit_directory, 'clrjit_{}_{}_{}.dll'.format(os_name, arch_name, host_arch_name))
8296

8397
print("Running superpmi.py download")
84-
run_command([python_path, path.join(cwd, "superpmi.py"), "download", "--no_progress", "-f", "benchmark", "-target_os", platform_name, "-target_arch", arch_name, "-core_root", cwd, "-spmi_location", spmi_location], _exit_on_fail=True)
98+
run_command([python_path, path.join(cwd, "superpmi.py"), "download", "--no_progress", "-target_os", platform_name,
99+
"-target_arch", arch_name, "-core_root", cwd, "-spmi_location", spmi_location], _exit_on_fail=True)
85100

86101
failed_runs = []
87102
for jit_flag in jit_flags:
88-
# TODO: This should be DownloadFilesFromResults
89103
log_file = path.join(log_directory, 'superpmi_{}.log'.format(jit_flag.replace("=", "_")))
90104
print("Running superpmi.py replay for {}".format(jit_flag))
91105

92106
_, _, return_code = run_command([
93-
python_path, path.join(cwd, "superpmi.py"), "replay", "-core_root", cwd,
94-
"-jitoption", jit_flag, "-jitoption", "TieredCompilation=0",
95-
"-target_os", platform_name, "-target_arch", arch_name,
96-
"-arch", host_arch_name,
97-
"-jit_path", jit_path, "-spmi_location", spmi_location,
98-
"-log_level", "debug", "-log_file", log_file])
107+
python_path, path.join(cwd, "superpmi.py"), "replay", "-core_root", cwd,
108+
"-jitoption", jit_flag, "-jitoption", "TieredCompilation=0",
109+
"-target_os", platform_name, "-target_arch", arch_name,
110+
"-arch", host_arch_name,
111+
"-jit_path", jit_path, "-spmi_location", spmi_location,
112+
"-log_level", "debug", "-log_file", log_file])
99113

100114
if return_code != 0:
101115
failed_runs.append("Failure in {}".format(log_file))
@@ -116,6 +130,7 @@ def main(main_args):
116130
contents = current_superpmi_log.read()
117131
final_superpmi_log.write(contents)
118132

133+
# Log failures summary
119134
if len(failed_runs) > 0:
120135
final_superpmi_log.write(os.linesep)
121136
final_superpmi_log.write(os.linesep)

src/coreclr/scripts/superpmi_replay_setup.py

Lines changed: 6 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@
99
# Notes:
1010
#
1111
# Script to setup directory structure required to perform SuperPMI replay in CI.
12-
# It does the following steps:
13-
# 1. It creates `correlation_payload_directory` that contains clrjit*_x64.dll and clrjit*_x86.dll
14-
# 2. The script takes `input_artifacts` parameter which contains *.mch.zip and *.mct.zip. It will then
15-
# partition it by moving each pair of *.mch.zip/*.mct.zip into its own folder under 'payload'
16-
# directory.
12+
# It creates `correlation_payload_directory` that contains clrjit*_x64.dll and clrjit*_x86.dll
1713
################################################################################
1814
################################################################################
1915

@@ -32,10 +28,8 @@
3228
parser = argparse.ArgumentParser(description="description")
3329

3430
parser.add_argument("-arch", help="Architecture")
35-
# parser.add_argument("-platform", help="OS platform")
3631
parser.add_argument("-source_directory", help="path to the directory containing binaries")
3732
parser.add_argument("-product_directory", help="path to the directory containing binaries")
38-
# parser.add_argument("-mch_directory", help="path to directory containing compressed mch files")
3933

4034

4135
def setup_args(args):
@@ -56,11 +50,6 @@ def setup_args(args):
5650
lambda unused: True,
5751
"Unable to set arch")
5852

59-
# coreclr_args.verify(args,
60-
# "platform",
61-
# lambda unused: True,
62-
# "Unable to set platform")
63-
6453
coreclr_args.verify(args,
6554
"source_directory",
6655
lambda source_directory: os.path.isdir(source_directory),
@@ -71,10 +60,6 @@ def setup_args(args):
7160
lambda product_directory: os.path.isdir(product_directory),
7261
"product_directory doesn't exist")
7362

74-
# coreclr_args.verify(args,
75-
# "mch_directory",
76-
# lambda mch_directory: True, #os.path.isdir(mch_directory),
77-
# "mch_directory doesn't exist")
7863
return coreclr_args
7964

8065

@@ -117,6 +102,7 @@ def match_correlation_files(full_path):
117102

118103
return False
119104

105+
120106
def main(main_args):
121107
"""Main entrypoint
122108
@@ -128,58 +114,34 @@ def main(main_args):
128114
arch = coreclr_args.arch
129115
source_directory = coreclr_args.source_directory
130116
product_directory = coreclr_args.product_directory
131-
# mch_directory = coreclr_args.mch_directory
132117

133118
# CorrelationPayload directories
134119
correlation_payload_directory = path.join(coreclr_args.source_directory, "payload")
135120
superpmi_src_directory = path.join(source_directory, 'src', 'coreclr', 'scripts')
136121

137-
# Workitem directories
138-
workitem_directory = path.join(source_directory, "workitem")
139-
140122
helix_source_prefix = "official"
141123
creator = ""
142124
ci = True
143125
helix_queue = "Windows.10.Amd64.X86"
144126

145127
# Copy *.py to CorrelationPayload
146128
print('Copying {} -> {}'.format(superpmi_src_directory, correlation_payload_directory))
147-
copy_directory(superpmi_src_directory, correlation_payload_directory, match_func=lambda path: any(path.endswith(extension) for extension in [".py"]))
148-
129+
copy_directory(superpmi_src_directory, correlation_payload_directory,
130+
match_func=lambda path: any(path.endswith(extension) for extension in [".py"]))
131+
149132
# Copy clrjit*_arch.dll binaries to CorrelationPayload
150133
print('Copying binaries {} -> {}'.format(arch, product_directory, correlation_payload_directory))
151134
copy_directory(product_directory, correlation_payload_directory, match_func=match_correlation_files)
152135

153-
#TODO: Just send appropriate clrjit*.dll files to workitem_directory
154-
# # Copy clrjit*_arch.dll binaries to workitem_directory
155-
# print('Copying clrjit_{}_{}.dll {} -> {}'.format(arch, product_directory, correlation_payload_directory))
156-
# copy_directory(product_directory, correlation_payload_directory, match_func=match_correlation_files)
157-
158-
# Partition mch/mct zip files
159-
# partition_mch(mch_directory, workitem_directory)
160-
161-
# # Print correlation_payload_directory and workitem_directory
162-
# print("==> correlation_payload_directory:")
163-
# for file_path, dirs, files in walk(correlation_payload_directory, topdown=True):
164-
# for name in files:
165-
# curr_file_path = path.join(file_path, name)
166-
# print(curr_file_path)
167-
168-
# print("==> workitem_directory:")
169-
# for file_path, dirs, files in walk(workitem_directory, topdown=True):
170-
# for name in files:
171-
# curr_file_path = path.join(file_path, name)
172-
# print(curr_file_path)
173-
174136
# Set variables
175137
print('Setting pipeline variables:')
176138
set_pipeline_variable("CorrelationPayloadDirectory", correlation_payload_directory)
177-
set_pipeline_variable("WorkItemDirectory", workitem_directory)
178139
set_pipeline_variable("Architecture", arch)
179140
set_pipeline_variable("Creator", creator)
180141
set_pipeline_variable("Queue", helix_queue)
181142
set_pipeline_variable("HelixSourcePrefix", helix_source_prefix)
182143

144+
183145
if __name__ == "__main__":
184146
args = parser.parse_args()
185147
sys.exit(main(args))

0 commit comments

Comments
 (0)