You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/tutorials/performance_tuning/launch_script.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,7 @@ Launcher Common Arguments:
34
34
| :-- | :--: | :--: | :-- |
35
35
|`--ncores-per-instance`| int | 0 | Number of cores per instance |
36
36
|`--nodes-list`| str | '' | Specify nodes list for multiple instances to run on, in format of list of single node ids "node_id,node_id,..." or list of node ranges "node_id-node_id,...". By default all nodes will be used. |
37
+
|`--use-e-cores`| - | False | Use Efficient-Cores on the workloads or not. By default, only Performance-Cores are used. |
37
38
|`--memory-allocator`| str | 'auto' | Choose which memory allocator to run the workloads with. Supported choices are ['auto', 'default', 'tcmalloc', 'jemalloc']. |
38
39
|`--omp-runtime`| str | 'auto' | Choose which OpenMP runtime to run the workloads with. Supported choices are ['auto', 'default', 'intel']. |
- ninstances [int]: Number of instances. Should be a non negative integer, 0 by default. When it is 0, it will be set according to usage scenarios automatically in the function.
163
210
- ncores_per_instance [int]: Number of cores per instance. Should be a non negative integer, 0 by default. When it is 0, it will be set according to usage scenarios automatically in the function.
164
211
- use_logical_cores [bool]: Use logical cores on the workloads or not, False by default. When set to False, only physical cores are used.
212
+
- use_e_cores [bool]: Use Efficient-Cores, False by default. When set to False, only Performance-Cores are used.
165
213
- skip_cross_node_cores [bool]: Allow instances to be executed on cores across NUMA nodes, False by default.
166
214
- nodes_list [list]: A list containing all node ids that the execution is expected to be running on.
167
215
- cores_list [list]: A list containing all cpu ids that the execution is expected to be running on.
@@ -172,16 +220,19 @@ def gen_pools_ondemand(
172
220
ninstances=0,
173
221
ncores_per_instance=0,
174
222
use_logical_cores=False,
223
+
use_e_cores=False,
175
224
skip_cross_node_cores=False,
176
225
nodes_list=[],
177
226
cores_list=[],
178
227
return_mode='auto'):
179
228
# Generate an aggregated CPU pool
180
229
iflen(cores_list) >0:
181
230
cores_available= [c.cpuforcinself.pool_all]
182
-
assertset(cores_list).issubset(set(cores_available)), f'Designated cores list contains invalid cores.'
231
+
assertset(cores_list).issubset(set(cores_available)), f'Designated cores list {cores_list}contains invalid cores.'
183
232
ifuse_logical_cores:
184
233
self.verbose('warning', 'Argument --use-logical-cores won\'t take effect when --cores-list is set.')
234
+
ifuse_e_cores:
235
+
self.verbose('warning', 'Argument --use-e-cores won\'t take effect when --cores-list is set.')
185
236
pool= [cforcinself.pool_allifc.cpuincores_list]
186
237
nodes=list(set([c.nodeforcinpool]))
187
238
ncores_per_node=-1
@@ -197,12 +248,17 @@ def gen_pools_ondemand(
197
248
else:
198
249
iflen(nodes_list) >0:
199
250
nodes_available=set([c.nodeforcinself.pool_all])
200
-
assertset(nodes_list).issubset(nodes_available), f'Designated nodes list contains invalid nodes.'
251
+
assertset(nodes_list).issubset(nodes_available), f'Designated nodes list {nodes_list}contains invalid nodes out from {nodes_available}.'
201
252
pool= [cforcinself.pool_allifc.nodeinnodes_list]
202
253
else:
203
254
pool=self.pool_all
204
255
ifnotuse_logical_cores:
205
256
pool= [cforcinpoolifc.is_physical_core]
257
+
ifnotuse_e_cores:
258
+
pool= [cforcinpoolifc.is_p_core]
259
+
e_cores= [c.cpuforcinpoolifnotc.is_p_core]
260
+
iflen(e_cores) >0:
261
+
self.verbose('warning', f'Efficient-Cores are detected ({e_cores}). Disabled for performance consideration. You can enable them with argument --use-e-cores.')
206
262
207
263
# Determine ninstances and ncores_per_instance for grouping
208
264
assertncores_per_instance>=0, 'Argument --ncores-per-instance cannot be a negative value.'
help='Specify nodes list for multiple instances to run on, in format of list of single node ids "node_id,node_id,..." or list of node ranges "node_id-node_id,...". By default all nodes will be used.',
41
41
)
42
+
group.add_argument(
43
+
'--use-e-cores',
44
+
'--use_e_cores',
45
+
action='store_true',
46
+
default=False,
47
+
help='Use Efficient-Cores on the workloads or not. By default, only Performance-Cores are used.',
0 commit comments