cloudpss 4.0.9__py3-none-any.whl → 4.0.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cloudpss/model/model.py +14 -0
- cloudpss/runner/runner.py +44 -34
- cloudpss/version.py +1 -1
- {cloudpss-4.0.9.dist-info → cloudpss-4.0.11.dist-info}/METADATA +1 -1
- {cloudpss-4.0.9.dist-info → cloudpss-4.0.11.dist-info}/RECORD +7 -7
- {cloudpss-4.0.9.dist-info → cloudpss-4.0.11.dist-info}/WHEEL +0 -0
- {cloudpss-4.0.9.dist-info → cloudpss-4.0.11.dist-info}/top_level.txt +0 -0
cloudpss/model/model.py
CHANGED
@@ -205,6 +205,7 @@ class Model(object):
|
|
205
205
|
|
206
206
|
config = deepcopy(self.configs[0])
|
207
207
|
config['name'] = name
|
208
|
+
self.__updateConfigDefault(config)
|
208
209
|
return config
|
209
210
|
|
210
211
|
def addConfig(self, config):
|
@@ -218,6 +219,7 @@ class Model(object):
|
|
218
219
|
"""
|
219
220
|
|
220
221
|
self.configs.append(config)
|
222
|
+
self.__updateConfigDefault(config)
|
221
223
|
return config
|
222
224
|
|
223
225
|
@staticmethod
|
@@ -324,6 +326,7 @@ class Model(object):
|
|
324
326
|
if config is None:
|
325
327
|
currentConfig = self.context['currentConfig']
|
326
328
|
config = self.configs[currentConfig]
|
329
|
+
self.__updateConfigDefault(config)
|
327
330
|
return self.revision.run(job, config, name, self.rid, **kwargs)
|
328
331
|
|
329
332
|
def iesSimulationRun(self, job=None, config=None, name=None, **kwargs):
|
@@ -552,6 +555,16 @@ class Model(object):
|
|
552
555
|
maximumDepth)
|
553
556
|
return None
|
554
557
|
|
558
|
+
def __updateConfigDefault(self, config):
|
559
|
+
paramters = self.revision.parameters
|
560
|
+
if paramters is None:
|
561
|
+
return
|
562
|
+
for param in paramters:
|
563
|
+
for val in param['items']:
|
564
|
+
if config['args'].get(val['key'],None) is None:
|
565
|
+
print(val['key'])
|
566
|
+
config['args'][val['key']] = val['value']
|
567
|
+
|
555
568
|
def runEMT(self,job=None,config=None)->Runner[EMTResult]:
|
556
569
|
'''
|
557
570
|
运行 emtp 内核,如果当前 model 没有创建 Job 时报错,默认使用第一个计算方案,进行仿真。
|
@@ -575,6 +588,7 @@ class Model(object):
|
|
575
588
|
if config is None:
|
576
589
|
currentConfig = self.context['currentConfig']
|
577
590
|
config = self.configs[currentConfig]
|
591
|
+
|
578
592
|
return self.run(job=job, config=config)
|
579
593
|
|
580
594
|
def runSFEMT(self,job=None,config=None)->Runner[EMTResult]:
|
cloudpss/runner/runner.py
CHANGED
@@ -117,6 +117,49 @@ class Runner(Generic[T]):
|
|
117
117
|
graphql_request(query, variables)
|
118
118
|
|
119
119
|
|
120
|
+
@staticmethod
|
121
|
+
def __createJobVariables(job, config, revisionHash, rid, policy, **kwargs):
|
122
|
+
# 处理policy字段
|
123
|
+
if policy is None:
|
124
|
+
policy = {}
|
125
|
+
if policy.get("tres", None) is None:
|
126
|
+
policy["tres"] = {}
|
127
|
+
policy["queue"] = job["args"].get("@queue", 1)
|
128
|
+
policy["priority"] = job["args"].get("@priority", 0)
|
129
|
+
tres = {"cpu": 1, "ecpu": 0, "mem": 0}
|
130
|
+
tresStr = job["args"].get("@tres", "")
|
131
|
+
for t in re.split("\s+", tresStr):
|
132
|
+
if t == "":
|
133
|
+
continue
|
134
|
+
k, v = t.split("=")
|
135
|
+
tres[k] = float(v) # type: ignore
|
136
|
+
policy["tres"] = tres
|
137
|
+
function = job["rid"].replace("job-definition/cloudpss/", "function/CloudPSS/")
|
138
|
+
implement = kwargs.get("implement", None)
|
139
|
+
debug = job["args"].get("@debug", None )
|
140
|
+
debugargs={}
|
141
|
+
if debug is not None:
|
142
|
+
t= [ i.split('=') for i in re.split(r'\s+',debug) if i.find('=')>0]
|
143
|
+
for i in t:
|
144
|
+
debugargs[i[0]]=i[1]
|
145
|
+
variables = {
|
146
|
+
"input": {
|
147
|
+
"args": {
|
148
|
+
**job["args"],
|
149
|
+
"_ModelRevision": revisionHash,
|
150
|
+
"_ModelArgs": config["args"],
|
151
|
+
"implement":implement
|
152
|
+
},
|
153
|
+
"context": [
|
154
|
+
function,
|
155
|
+
rid,
|
156
|
+
f"model/@sdk/{str(int(time.time() * random.random()))}",
|
157
|
+
],
|
158
|
+
"policy": policy,
|
159
|
+
"debug":debugargs
|
160
|
+
}
|
161
|
+
}
|
162
|
+
return variables
|
120
163
|
@staticmethod
|
121
164
|
def create(revisionHash,
|
122
165
|
job,
|
@@ -139,42 +182,9 @@ class Runner(Generic[T]):
|
|
139
182
|
>>> runner = Runner.runRevision(revision,job,config,'')
|
140
183
|
'''
|
141
184
|
|
142
|
-
#处理policy字段
|
143
|
-
if policy is None:
|
144
|
-
policy = {}
|
145
|
-
if policy.get('tres', None) is None:
|
146
|
-
policy['tres'] = {}
|
147
|
-
policy['queue'] = job['args'].get('@queue', 1)
|
148
|
-
policy['priority'] = job['args'].get('@priority', 0)
|
149
|
-
tres = {'cpu': 1, 'ecpu': 0, 'mem': 0}
|
150
|
-
tresStr = job['args'].get('@tres', '')
|
151
|
-
for t in re.split('\s+', tresStr):
|
152
|
-
if t == '':
|
153
|
-
continue
|
154
|
-
k, v = t.split('=')
|
155
|
-
tres[k] = float(v) #type: ignore
|
156
|
-
policy['tres'] = tres
|
157
185
|
|
158
186
|
query = '''mutation($input:CreateJobInput!){job:createJob(input:$input){id input output status position}}'''
|
159
|
-
|
160
|
-
'function/CloudPSS/')
|
161
|
-
variables = {
|
162
|
-
'input': {
|
163
|
-
"args":
|
164
|
-
{
|
165
|
-
**job['args'],
|
166
|
-
'_ModelRevision' : revisionHash,
|
167
|
-
'_ModelArgs' : config['args']
|
168
|
-
},
|
169
|
-
"context": [
|
170
|
-
function,
|
171
|
-
f"model/@sdk/{str(int(time.time() * random.random()))}",
|
172
|
-
rid
|
173
|
-
],
|
174
|
-
"policy":
|
175
|
-
policy,
|
176
|
-
}
|
177
|
-
}
|
187
|
+
variables = Runner.__createJobVariables(job, config, revisionHash, rid,policy)
|
178
188
|
r = graphql_request(query, variables)
|
179
189
|
if 'errors' in r:
|
180
190
|
raise Exception(r['errors'])
|
cloudpss/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '4.0.
|
1
|
+
__version__ = '4.0.11'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
cloudpss/__init__.py,sha256=Ov8K45KxSsPalPErvTRUb2GvPdJ3myucFqx7s37_YZo,777
|
2
2
|
cloudpss/verify.py,sha256=KF4Gd59DGvCyIEkRD7rNnekWw22XxJpi3DW6keb6j4c,1498
|
3
|
-
cloudpss/version.py,sha256=
|
3
|
+
cloudpss/version.py,sha256=sdtjfBeJZTJftxJnJqDQWlcNEVcMwxpLtEjGi92XS0A,22
|
4
4
|
cloudpss/asyncio/__init__.py,sha256=CJGopQl_vz3z3fJsK7NjMX5uzkzfrJrbqKVhyYqlYWc,198
|
5
5
|
cloudpss/asyncio/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
|
6
6
|
cloudpss/asyncio/job/job.py,sha256=ExA-8JVOWWW5neVvNazPk4i3Z-q8xqYBL4qXU1m3rgM,3891
|
@@ -37,7 +37,7 @@ cloudpss/job/view/__init__.py,sha256=j_X6aFeY-wa6_0r1EixE0rrvGz_67m4fIqOLmUbkxqY
|
|
37
37
|
cloudpss/job/view/view.py,sha256=JEv3uWw2DTKNmtdvviztH4Y5Hp2ucFXPNrGOkFv8byU,4280
|
38
38
|
cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
|
39
39
|
cloudpss/model/jobDefinitions.py,sha256=XqjaaWOLU7zlVHM7TQJbZ3rNBWfBY7eT-5aE6EAatcQ,3770
|
40
|
-
cloudpss/model/model.py,sha256=
|
40
|
+
cloudpss/model/model.py,sha256=e5U0nvSd4dTiqV0kGQQV4PDEOjzaMaWqb8wGZbWlkBQ,26527
|
41
41
|
cloudpss/model/revision.py,sha256=YZU7OJV6kC5eyQd7iQwwvZ6gjW3eZNmcm3yQDkUOOKs,3764
|
42
42
|
cloudpss/model/topology.py,sha256=eJVxvdVOjvLz6jd3Q4MgAMBKVvM8ZWby8gLkIta-K5Y,2234
|
43
43
|
cloudpss/model/implements/__init__.py,sha256=88L_wF9SSzxsbtqwStWIPH4LxaKq7TVcssHQ62YBnls,67
|
@@ -53,7 +53,7 @@ cloudpss/runner/MessageStreamReceiver.py,sha256=_G_7LIFdm7EtOf046nT-V3HNmygAm2oo
|
|
53
53
|
cloudpss/runner/__init__.py,sha256=aZ00V2AzQNBbER0xi6pqFFyiLFM-6r1fxvzdxxUJA_4,241
|
54
54
|
cloudpss/runner/receiver.py,sha256=d8vOtBJ_Iqo3syJXgFFxwii1MXF7CyHRoXy6eT81Zq4,4096
|
55
55
|
cloudpss/runner/result.py,sha256=GFpd7848gsLRuzhVcWbCwmAjR84Lhik_3pNCjOV8VOY,13291
|
56
|
-
cloudpss/runner/runner.py,sha256=
|
56
|
+
cloudpss/runner/runner.py,sha256=dyh_Sm38F-W8HatjRuVFEqd5Jla-d_GasRZ978zdMvw,7808
|
57
57
|
cloudpss/runner/storage.py,sha256=zFET_zwPIOF2Cnh9sgFiS0HFxV1OmVsU34bGUQ6PpkA,4162
|
58
58
|
cloudpss/runner/transform.py,sha256=krOgTZiJSJAb5QSwerAqlbC4Ma0PKi__0WOZlAxw4O8,11613
|
59
59
|
cloudpss/utils/IO.py,sha256=Uh1NOlBn15Jl5_aWS2QRO2-QsKlFT9o8DPtP8-8Z2PA,5314
|
@@ -63,7 +63,7 @@ cloudpss/utils/graphqlUtil.py,sha256=swl6XT1UmUQHdHjMWw3M0i8meEmVKNQvX0SHsbgg8TU
|
|
63
63
|
cloudpss/utils/httprequests.py,sha256=-RYi1Dc4QDqqupuw0x-lq74dFvCqPrZfCJKgrdolEpk,1643
|
64
64
|
cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
|
65
65
|
cloudpss/utils/yamlLoader.py,sha256=KRlRkHFltOjqxa_sesdBLf1W5J7XTgvubszsSw-XR0U,2885
|
66
|
-
cloudpss-4.0.
|
67
|
-
cloudpss-4.0.
|
68
|
-
cloudpss-4.0.
|
69
|
-
cloudpss-4.0.
|
66
|
+
cloudpss-4.0.11.dist-info/METADATA,sha256=3_b5weJo20GM4_TdHC45UlKfty0s5cQdWYgpv5E8SwI,2369
|
67
|
+
cloudpss-4.0.11.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
68
|
+
cloudpss-4.0.11.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
|
69
|
+
cloudpss-4.0.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|