Skip to content

Commit ac4de38

Browse files
authored
Merge pull request #1945 from csarofeen/master_merge_0828
Master merge 0828
2 parents 6310948 + aab10bc commit ac4de38

File tree

1,450 files changed

+78537
-69673
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,450 files changed

+78537
-69673
lines changed

.circleci/cimodel/data/dimensions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"102",
55
"113",
66
"116",
7+
"117",
78
]
89

910
ROCM_VERSIONS = [

.circleci/cimodel/data/simple/ios_definitions.py

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def __init__(self, name, custom_build_name=""):
1111

1212
def render(self):
1313
extra_parts = [self.custom_build_name] if len(self.custom_build_name) > 0 else []
14-
return "_".join([self.name] + extra_parts)
14+
return "-".join([self.name] + extra_parts).replace("_", "-")
1515

1616

1717
def get_platform(arch_variant_name):
@@ -25,30 +25,25 @@ def __init__(self, xcode_version, arch_variant, is_org_member_context=True, extr
2525
self.is_org_member_context = is_org_member_context
2626
self.extra_props = extra_props
2727

28-
def gen_name_parts(self, with_version_dots):
29-
30-
version_parts = self.xcode_version.render_dots_or_parts(with_version_dots)
31-
build_variant_suffix = "_".join([self.arch_variant.render(), "build"])
32-
28+
def gen_name_parts(self):
29+
version_parts = self.xcode_version.render_dots_or_parts("-")
30+
build_variant_suffix = self.arch_variant.render()
3331
return [
34-
"pytorch",
3532
"ios",
3633
] + version_parts + [
3734
build_variant_suffix,
3835
]
3936

4037
def gen_job_name(self):
41-
return "_".join(self.gen_name_parts(False))
38+
return "-".join(self.gen_name_parts())
4239

4340
def gen_tree(self):
44-
4541
platform_name = get_platform(self.arch_variant.name)
46-
4742
props_dict = {
48-
"build_environment": "-".join(self.gen_name_parts(True)),
43+
"name": self.gen_job_name(),
44+
"build_environment": self.gen_job_name(),
4945
"ios_arch": self.arch_variant.name,
5046
"ios_platform": platform_name,
51-
"name": self.gen_job_name(),
5247
}
5348

5449
if self.is_org_member_context:
@@ -63,16 +58,12 @@ def gen_tree(self):
6358
WORKFLOW_DATA = [
6459
IOSJob(XCODE_VERSION, ArchVariant("x86_64"), is_org_member_context=False, extra_props={
6560
"lite_interpreter": miniutils.quote(str(int(True)))}),
66-
IOSJob(XCODE_VERSION, ArchVariant("x86_64", "full_jit"), is_org_member_context=False, extra_props={
67-
"lite_interpreter": miniutils.quote(str(int(False)))}),
6861
IOSJob(XCODE_VERSION, ArchVariant("arm64"), extra_props={
6962
"lite_interpreter": miniutils.quote(str(int(True)))}),
7063
IOSJob(XCODE_VERSION, ArchVariant("arm64", "metal"), extra_props={
7164
"use_metal": miniutils.quote(str(int(True))),
7265
"lite_interpreter": miniutils.quote(str(int(True)))}),
73-
IOSJob(XCODE_VERSION, ArchVariant("arm64", "full_jit"), extra_props={
74-
"lite_interpreter": miniutils.quote(str(int(False)))}),
75-
IOSJob(XCODE_VERSION, ArchVariant("arm64", "custom"), extra_props={
66+
IOSJob(XCODE_VERSION, ArchVariant("arm64", "custom-ops"), extra_props={
7667
"op_list": "mobilenetv2.yaml",
7768
"lite_interpreter": miniutils.quote(str(int(True)))}),
7869
IOSJob(XCODE_VERSION, ArchVariant("x86_64", "coreml"), is_org_member_context=False, extra_props={

.circleci/cimodel/data/simple/macos_definitions.py

Lines changed: 97 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
from collections import OrderedDict
2+
from cimodel.lib.miniutils import quote
3+
4+
15
class MacOsJob:
26
def __init__(self, os_version, is_build=False, is_test=False, extra_props=tuple()):
37
# extra_props is tuple type, because mutable data structures for argument defaults
@@ -11,10 +15,14 @@ def gen_tree(self):
1115
non_phase_parts = ["pytorch", "macos", self.os_version, "py3"]
1216

1317
extra_name_list = [name for name, exist in self.extra_props.items() if exist]
14-
full_job_name_list = non_phase_parts + extra_name_list + [
15-
'build' if self.is_build else None,
16-
'test' if self.is_test else None,
17-
]
18+
full_job_name_list = (
19+
non_phase_parts
20+
+ extra_name_list
21+
+ [
22+
"build" if self.is_build else None,
23+
"test" if self.is_test else None,
24+
]
25+
)
1826

1927
full_job_name = "_".join(list(filter(None, full_job_name_list)))
2028

@@ -41,12 +49,93 @@ def gen_tree(self):
4149
"10_13",
4250
is_build=True,
4351
is_test=True,
44-
extra_props=tuple({
45-
"lite_interpreter": True
46-
}.items()),
47-
)
52+
extra_props=tuple({"lite_interpreter": True}.items()),
53+
),
4854
]
4955

5056

57+
def get_new_workflow_jobs():
58+
return [
59+
OrderedDict(
60+
{
61+
"mac_build": OrderedDict(
62+
{
63+
"name": "macos-12-py3-x86-64-build",
64+
"build-environment": "macos-12-py3-x86-64",
65+
"xcode-version": quote("13.3.1"),
66+
}
67+
)
68+
}
69+
),
70+
OrderedDict(
71+
{
72+
"mac_test": OrderedDict(
73+
{
74+
"name": "macos-12-py3-x86-64-test-1-2-default",
75+
"build-environment": "macos-12-py3-x86-64",
76+
"xcode-version": quote("13.3.1"),
77+
"shard-number": quote("1"),
78+
"num-test-shards": quote("2"),
79+
"requires": ["macos-12-py3-x86-64-build"],
80+
}
81+
)
82+
}
83+
),
84+
OrderedDict(
85+
{
86+
"mac_test": OrderedDict(
87+
{
88+
"name": "macos-12-py3-x86-64-test-2-2-default",
89+
"build-environment": "macos-12-py3-x86-64",
90+
"xcode-version": quote("13.3.1"),
91+
"shard-number": quote("2"),
92+
"num-test-shards": quote("2"),
93+
"requires": ["macos-12-py3-x86-64-build"],
94+
}
95+
)
96+
}
97+
),
98+
OrderedDict(
99+
{
100+
"mac_test": OrderedDict(
101+
{
102+
"name": "macos-12-py3-x86-64-test-1-1-functorch",
103+
"build-environment": "macos-12-py3-x86-64",
104+
"xcode-version": quote("13.3.1"),
105+
"shard-number": quote("1"),
106+
"num-test-shards": quote("1"),
107+
"test-config": "functorch",
108+
"requires": ["macos-12-py3-x86-64-build"],
109+
}
110+
)
111+
}
112+
),
113+
OrderedDict(
114+
{
115+
"mac_build": OrderedDict(
116+
{
117+
"name": "macos-12-py3-x86-64-lite-interpreter-build-test",
118+
"build-environment": "macos-12-py3-lite-interpreter-x86-64",
119+
"xcode-version": quote("13.3.1"),
120+
"build-generates-artifacts": "false",
121+
}
122+
)
123+
}
124+
),
125+
OrderedDict(
126+
{
127+
"mac_build": OrderedDict(
128+
{
129+
"name": "macos-12-py3-arm64-build",
130+
"build-environment": "macos-12-py3-arm64",
131+
"xcode-version": quote("13.3.1"),
132+
"python-version": quote("3.9.12"),
133+
}
134+
)
135+
}
136+
),
137+
]
138+
139+
51140
def get_workflow_jobs():
52141
return [item.gen_tree() for item in WORKFLOW_DATA]

.circleci/cimodel/data/simple/nightly_ios.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def __init__(self,
1515
def get_phase_name(self):
1616
return "upload" if self.is_upload else "build"
1717

18-
def get_common_name_pieces(self, with_version_dots):
18+
def get_common_name_pieces(self, sep):
1919

2020
extra_name_suffix = [self.get_phase_name()] if self.is_upload else []
2121

@@ -24,7 +24,7 @@ def get_common_name_pieces(self, with_version_dots):
2424
common_name_pieces = [
2525
"ios",
2626
] + extra_name + [
27-
] + ios_definitions.XCODE_VERSION.render_dots_or_parts(with_version_dots) + [
27+
] + ios_definitions.XCODE_VERSION.render_dots_or_parts(sep) + [
2828
"nightly",
2929
self.variant,
3030
"build",
@@ -33,14 +33,14 @@ def get_common_name_pieces(self, with_version_dots):
3333
return common_name_pieces
3434

3535
def gen_job_name(self):
36-
return "_".join(["pytorch"] + self.get_common_name_pieces(False))
36+
return "_".join(["pytorch"] + self.get_common_name_pieces(None))
3737

3838
def gen_tree(self):
3939
build_configs = BUILD_CONFIGS_FULL_JIT if self.is_full_jit else BUILD_CONFIGS
4040
extra_requires = [x.gen_job_name() for x in build_configs] if self.is_upload else []
4141

4242
props_dict = {
43-
"build_environment": "-".join(["libtorch"] + self.get_common_name_pieces(True)),
43+
"build_environment": "-".join(["libtorch"] + self.get_common_name_pieces(".")),
4444
"requires": extra_requires,
4545
"context": "org-member",
4646
"filters": {"branches": {"only": "nightly"}},
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import OrderedDict
2+
3+
4+
def get_workflow_job():
5+
return [
6+
OrderedDict(
7+
{
8+
"upload_test_stats": OrderedDict(
9+
{
10+
"name": "upload test status",
11+
"requires": [
12+
"macos-12-py3-x86-64-test-1-2-default",
13+
"macos-12-py3-x86-64-test-2-2-default",
14+
"macos-12-py3-x86-64-test-1-1-functorch",
15+
],
16+
}
17+
)
18+
}
19+
),
20+
]

.circleci/cimodel/data/simple/util/versions.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from typing import Optional
2+
3+
14
class MultiPartVersion:
25
def __init__(self, parts, prefix=""):
36
self.parts = parts
@@ -13,14 +16,11 @@ def prefixed_parts(self):
1316
else:
1417
return [self.prefix]
1518

16-
def render_dots(self):
17-
return ".".join(self.prefixed_parts())
18-
19-
def render_dots_or_parts(self, with_dots):
20-
if with_dots:
21-
return [self.render_dots()]
22-
else:
19+
def render_dots_or_parts(self, sep: Optional[str] = None):
20+
if sep is None:
2321
return self.prefixed_parts()
22+
else:
23+
return [sep.join(self.prefixed_parts())]
2424

2525

2626
class CudaVersion(MultiPartVersion):

0 commit comments

Comments
 (0)