-
Notifications
You must be signed in to change notification settings - Fork 8
/
submit_profile
executable file
·48 lines (38 loc) · 1.4 KB
/
submit_profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env python
"""Submit profiles in a loop.
Examples
--------
./submit_profile --help
./submit_profile -n
./submit_profile -n -d 2 32 32
"""
import os
from itertools import product
from util import get_parser, parser_to_params, init_cluster, submit, Cluster, cluster_type
import fluidsim
parser = get_parser(
'submit_profile', 'Generic script to submit profiles', __doc__)
if cluster_type == 'snic':
parser.set_defaults(n0=1152, n1=1152, nz=1152) # or 1344 1344 672
else:
parser.set_defaults(n0=64, n1=64, nz=8)
params, params_dim = parser_to_params(parser)
cluster = init_cluster(params, Cluster, subdir='profiles')
mode = params.mode
if __name__ == '__main__':
if params.dry_run:
print(params_dim)
if 'seq' in mode:
for type_fft in params_dim.fft_seq:
submit(params, params_dim, cluster, 1, 1, type_fft, 'profile')
if 'intra' in mode:
nb_nodes = 1
for nb_cores_per_node, type_fft in product(params_dim.nb_cores, params_dim.fft):
if nb_cores_per_node > cluster.nb_cores_per_node:
continue
submit(params, params_dim, cluster, nb_nodes, nb_cores_per_node,
type_fft, 'profile')
if 'inter' in mode:
for nb_nodes, type_fft in product(params_dim.nodes, params_dim.fft):
submit(params, params_dim, cluster, nb_nodes, fft=type_fft,
cmd='profile')