Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jonas Plewinski
pystencils
Commits
3595c16d
Commit
3595c16d
authored
Feb 18, 2019
by
Martin Bauer
Browse files
Fixed new flake8 warnings
parent
cd8a9329
Changes
14
Hide whitespace changes
Inline
Side-by-side
astnodes.py
View file @
3595c16d
...
@@ -503,7 +503,7 @@ class SympyAssignment(Node):
...
@@ -503,7 +503,7 @@ class SympyAssignment(Node):
def
_repr_html_
(
self
):
def
_repr_html_
(
self
):
printed_lhs
=
sp
.
latex
(
self
.
lhs
)
printed_lhs
=
sp
.
latex
(
self
.
lhs
)
printed_rhs
=
sp
.
latex
(
self
.
rhs
)
printed_rhs
=
sp
.
latex
(
self
.
rhs
)
return
"${printed_lhs} \leftarrow {printed_rhs}$"
.
format
(
printed_lhs
=
printed_lhs
,
printed_rhs
=
printed_rhs
)
return
"${printed_lhs}
\
\
leftarrow {printed_rhs}$"
.
format
(
printed_lhs
=
printed_lhs
,
printed_rhs
=
printed_rhs
)
class
ResolvedFieldAccess
(
sp
.
Indexed
):
class
ResolvedFieldAccess
(
sp
.
Indexed
):
...
...
boundaries/createindexlist.py
View file @
3595c16d
...
@@ -21,9 +21,9 @@ direction_member_name = "dir"
...
@@ -21,9 +21,9 @@ direction_member_name = "dir"
def
numpy_data_type_for_boundary_object
(
boundary_object
,
dim
):
def
numpy_data_type_for_boundary_object
(
boundary_object
,
dim
):
coordinate_names
=
boundary_index_array_coordinate_names
[:
dim
]
coordinate_names
=
boundary_index_array_coordinate_names
[:
dim
]
return
np
.
dtype
([(
name
,
np
.
int32
)
for
name
in
coordinate_names
]
+
return
np
.
dtype
([(
name
,
np
.
int32
)
for
name
in
coordinate_names
]
[(
direction_member_name
,
np
.
int32
)]
+
+
[(
direction_member_name
,
np
.
int32
)]
[(
i
[
0
],
i
[
1
].
numpy_dtype
)
for
i
in
boundary_object
.
additional_data
],
align
=
True
)
+
[(
i
[
0
],
i
[
1
].
numpy_dtype
)
for
i
in
boundary_object
.
additional_data
],
align
=
True
)
def
_create_boundary_neighbor_index_list_python
(
flag_field_arr
,
nr_of_ghost_layers
,
boundary_mask
,
def
_create_boundary_neighbor_index_list_python
(
flag_field_arr
,
nr_of_ghost_layers
,
boundary_mask
,
...
...
cpu/cpujit.py
View file @
3595c16d
...
@@ -503,8 +503,8 @@ def compile_module(code, code_hash, base_dir):
...
@@ -503,8 +503,8 @@ def compile_module(code, code_hash, base_dir):
run_compile_step
([
'link.exe'
,
py_lib
,
'/DLL'
,
'/out:'
+
lib_file
,
object_file
])
run_compile_step
([
'link.exe'
,
py_lib
,
'/DLL'
,
'/out:'
+
lib_file
,
object_file
])
else
:
else
:
with
atomic_file_write
(
lib_file
)
as
file_name
:
with
atomic_file_write
(
lib_file
)
as
file_name
:
run_compile_step
([
compiler_config
[
'command'
],
'-shared'
,
object_file
,
'-o'
,
file_name
]
+
run_compile_step
([
compiler_config
[
'command'
],
'-shared'
,
object_file
,
'-o'
,
file_name
]
compiler_config
[
'flags'
].
split
())
+
compiler_config
[
'flags'
].
split
())
return
lib_file
return
lib_file
...
...
data_types.py
View file @
3595c16d
...
@@ -370,7 +370,7 @@ class BasicType(Type):
...
@@ -370,7 +370,7 @@ class BasicType(Type):
elif
name
==
'bool'
:
elif
name
==
'bool'
:
return
'bool'
return
'bool'
else
:
else
:
raise
NotImplemented
(
"Can map numpy to C name for %s"
%
(
name
,))
raise
NotImplemented
Error
(
"Can map numpy to C name for %s"
%
(
name
,))
def
__init__
(
self
,
dtype
,
const
=
False
):
def
__init__
(
self
,
dtype
,
const
=
False
):
self
.
const
=
const
self
.
const
=
const
...
...
datahandling/datahandling_interface.py
View file @
3595c16d
...
@@ -33,7 +33,7 @@ class DataHandling(ABC):
...
@@ -33,7 +33,7 @@ class DataHandling(ABC):
@
abstractmethod
@
abstractmethod
def
add_array
(
self
,
name
:
str
,
values_per_cell
:
int
=
1
,
dtype
=
np
.
float64
,
def
add_array
(
self
,
name
:
str
,
values_per_cell
:
int
=
1
,
dtype
=
np
.
float64
,
latex_name
:
Optional
[
str
]
=
None
,
ghost_layers
:
Optional
[
int
]
=
None
,
layout
:
Optional
[
str
]
=
None
,
latex_name
:
Optional
[
str
]
=
None
,
ghost_layers
:
Optional
[
int
]
=
None
,
layout
:
Optional
[
str
]
=
None
,
cpu
:
bool
=
True
,
gpu
:
Optional
[
bool
]
=
None
,
alignment
=
False
)
->
Field
:
cpu
:
bool
=
True
,
gpu
:
Optional
[
bool
]
=
None
,
alignment
=
False
)
->
Field
:
"""Adds a (possibly distributed) array to the handling that can be accessed using the given name.
"""Adds a (possibly distributed) array to the handling that can be accessed using the given name.
...
...
datahandling/serial_datahandling.py
View file @
3595c16d
...
@@ -18,7 +18,7 @@ except ImportError:
...
@@ -18,7 +18,7 @@ except ImportError:
class
SerialDataHandling
(
DataHandling
):
class
SerialDataHandling
(
DataHandling
):
def
__init__
(
self
,
domain_size
:
Sequence
[
int
],
default_ghost_layers
:
int
=
1
,
default_layout
:
str
=
'SoA'
,
def
__init__
(
self
,
domain_size
:
Sequence
[
int
],
default_ghost_layers
:
int
=
1
,
default_layout
:
str
=
'SoA'
,
periodicity
:
Union
[
bool
,
Sequence
[
bool
]]
=
False
,
default_target
:
str
=
'cpu'
)
->
None
:
periodicity
:
Union
[
bool
,
Sequence
[
bool
]]
=
False
,
default_target
:
str
=
'cpu'
)
->
None
:
"""
"""
Creates a data handling for single node simulations.
Creates a data handling for single node simulations.
...
...
fd/derivation.py
View file @
3595c16d
...
@@ -143,8 +143,8 @@ class FiniteDifferenceStencilDerivation:
...
@@ -143,8 +143,8 @@ class FiniteDifferenceStencilDerivation:
eqs
.
append
(
error_dict
[
derivative_tuple
])
eqs
.
append
(
error_dict
[
derivative_tuple
])
else
:
else
:
for
i
in
range
(
1
,
len
(
permutations
)):
for
i
in
range
(
1
,
len
(
permutations
)):
new_eq
=
(
error_dict
[
tuple
(
sorted
(
permutations
[
i
]
+
self
.
_derivative
))]
-
new_eq
=
(
error_dict
[
tuple
(
sorted
(
permutations
[
i
]
+
self
.
_derivative
))]
error_dict
[
tuple
(
sorted
(
permutations
[
i
-
1
]
+
self
.
_derivative
))])
-
error_dict
[
tuple
(
sorted
(
permutations
[
i
-
1
]
+
self
.
_derivative
))])
if
new_eq
:
if
new_eq
:
eqs
.
append
(
new_eq
)
eqs
.
append
(
new_eq
)
else
:
else
:
...
...
fd/derivative.py
View file @
3595c16d
...
@@ -92,7 +92,7 @@ class Diff(sp.Expr):
...
@@ -92,7 +92,7 @@ class Diff(sp.Expr):
return
self
.
args
[
2
]
return
self
.
args
[
2
]
def
_latex
(
self
,
printer
,
*
_
):
def
_latex
(
self
,
printer
,
*
_
):
result
=
"{\partial"
result
=
r
"{\partial"
if
self
.
superscript
>=
0
:
if
self
.
superscript
>=
0
:
result
+=
"^{(%s)}"
%
(
self
.
superscript
,)
result
+=
"^{(%s)}"
%
(
self
.
superscript
,)
if
self
.
target
!=
-
1
:
if
self
.
target
!=
-
1
:
...
@@ -140,7 +140,7 @@ class DiffOperator(sp.Expr):
...
@@ -140,7 +140,7 @@ class DiffOperator(sp.Expr):
return
self
.
args
[
1
]
return
self
.
args
[
1
]
def
_latex
(
self
,
*
_
):
def
_latex
(
self
,
*
_
):
result
=
"{\partial"
result
=
r
"{\partial"
if
self
.
superscript
>=
0
:
if
self
.
superscript
>=
0
:
result
+=
"^{(%s)}"
%
(
self
.
superscript
,)
result
+=
"^{(%s)}"
%
(
self
.
superscript
,)
if
self
.
target
!=
-
1
:
if
self
.
target
!=
-
1
:
...
...
fd/finitedifferences.py
View file @
3595c16d
...
@@ -79,12 +79,12 @@ class Discretization2ndOrder:
...
@@ -79,12 +79,12 @@ class Discretization2ndOrder:
else
:
else
:
return
1
+
Discretization2ndOrder
.
_diff_order
(
e
.
args
[
0
])
return
1
+
Discretization2ndOrder
.
_diff_order
(
e
.
args
[
0
])
def
_discretize_diffusion
(
self
,
e
xpr
):
def
_discretize_diffusion
(
self
,
e
):
result
=
0
result
=
0
for
c
in
range
(
e
xpr
.
dim
):
for
c
in
range
(
e
.
dim
):
first_diffs
=
[
offset
*
first_diffs
=
[
offset
(
e
xpr
.
diffusion_scalar_at_offset
(
c
,
offset
)
*
e
xpr
.
diffusion_coefficient_at_offset
(
c
,
offset
)
*
(
e
.
diffusion_scalar_at_offset
(
c
,
offset
)
*
e
.
diffusion_coefficient_at_offset
(
c
,
offset
)
-
e
xpr
.
diffusion_scalar_at_offset
(
0
,
0
)
*
e
xpr
.
diffusion_coefficient_at_offset
(
0
,
0
))
-
e
.
diffusion_scalar_at_offset
(
0
,
0
)
*
e
.
diffusion_coefficient_at_offset
(
0
,
0
))
for
offset
in
[
-
1
,
1
]]
for
offset
in
[
-
1
,
1
]]
result
+=
first_diffs
[
1
]
-
first_diffs
[
0
]
result
+=
first_diffs
[
1
]
-
first_diffs
[
0
]
return
result
/
(
self
.
dx
**
2
)
return
result
/
(
self
.
dx
**
2
)
...
@@ -92,8 +92,8 @@ class Discretization2ndOrder:
...
@@ -92,8 +92,8 @@ class Discretization2ndOrder:
def
_discretize_advection
(
self
,
expr
):
def
_discretize_advection
(
self
,
expr
):
result
=
0
result
=
0
for
c
in
range
(
expr
.
dim
):
for
c
in
range
(
expr
.
dim
):
interpolated
=
[(
expr
.
advected_scalar_at_offset
(
c
,
offset
)
*
expr
.
velocity_field_at_offset
(
c
,
offset
,
c
)
+
interpolated
=
[(
expr
.
advected_scalar_at_offset
(
c
,
offset
)
*
expr
.
velocity_field_at_offset
(
c
,
offset
,
c
)
expr
.
advected_scalar_at_offset
(
c
,
0
)
*
expr
.
velocity_field_at_offset
(
c
,
0
,
c
))
/
2
+
expr
.
advected_scalar_at_offset
(
c
,
0
)
*
expr
.
velocity_field_at_offset
(
c
,
0
,
c
))
/
2
for
offset
in
[
-
1
,
1
]]
for
offset
in
[
-
1
,
1
]]
result
+=
interpolated
[
1
]
-
interpolated
[
0
]
result
+=
interpolated
[
1
]
-
interpolated
[
0
]
return
result
/
self
.
dx
return
result
/
self
.
dx
...
...
runhelper/db.py
View file @
3595c16d
...
@@ -53,7 +53,7 @@ class Database:
...
@@ -53,7 +53,7 @@ class Database:
self
.
backend
.
autocommit
=
True
self
.
backend
.
autocommit
=
True
def
save
(
self
,
params
:
Dict
,
result
:
Dict
,
env
:
Dict
=
None
,
**
kwargs
)
->
None
:
def
save
(
self
,
params
:
Dict
,
result
:
Dict
,
env
:
Dict
=
None
,
**
kwargs
)
->
None
:
"""Stores a simulation result in the database.
"""Stores a simulation result in the database.
Args:
Args:
...
...
runhelper/parameterstudy.py
View file @
3595c16d
...
@@ -53,7 +53,8 @@ class ParameterStudy:
...
@@ -53,7 +53,8 @@ class ParameterStudy:
Run
=
namedtuple
(
"Run"
,
[
'parameter_dict'
,
'weight'
])
Run
=
namedtuple
(
"Run"
,
[
'parameter_dict'
,
'weight'
])
def
__init__
(
self
,
run_function
:
Callable
[...,
Dict
],
runs
:
Sequence
=
(),
database_connector
:
str
=
'./db'
)
->
None
:
def
__init__
(
self
,
run_function
:
Callable
[...,
Dict
],
runs
:
Sequence
=
(),
database_connector
:
str
=
'./db'
)
->
None
:
self
.
runs
=
list
(
runs
)
self
.
runs
=
list
(
runs
)
self
.
run_function
=
run_function
self
.
run_function
=
run_function
self
.
db
=
Database
(
database_connector
)
self
.
db
=
Database
(
database_connector
)
...
@@ -133,7 +134,7 @@ class ParameterStudy:
...
@@ -133,7 +134,7 @@ class ParameterStudy:
self
.
db
.
save
(
run
.
parameter_dict
,
result
,
changed_params
=
parameter_update
)
self
.
db
.
save
(
run
.
parameter_dict
,
result
,
changed_params
=
parameter_update
)
def
run_server
(
self
,
ip
:
str
=
"0.0.0.0"
,
port
:
int
=
8342
):
def
run_server
(
self
,
ip
:
str
=
"0.0.0.0"
,
port
:
int
=
8342
):
"""Runs server to supply runner clients with scenarios to simulate and collect results from them.
"""Runs server to supply runner clients with scenarios to simulate and collect results from them.
Skips scenarios that are already in the database."""
Skips scenarios that are already in the database."""
from
http.server
import
BaseHTTPRequestHandler
,
HTTPServer
from
http.server
import
BaseHTTPRequestHandler
,
HTTPServer
...
@@ -220,7 +221,7 @@ class ParameterStudy:
...
@@ -220,7 +221,7 @@ class ParameterStudy:
server
.
handle_request
()
server
.
handle_request
()
server
.
handle_request
()
server
.
handle_request
()
def
run_client
(
self
,
client_name
:
str
=
"{hostname}_{pid}"
,
server
:
str
=
'localhost'
,
port
:
int
=
8342
,
def
run_client
(
self
,
client_name
:
str
=
"{hostname}_{pid}"
,
server
:
str
=
'localhost'
,
port
:
int
=
8342
,
parameter_update
:
Optional
[
ParameterDict
]
=
None
,
max_time
=
None
)
->
None
:
parameter_update
:
Optional
[
ParameterDict
]
=
None
,
max_time
=
None
)
->
None
:
"""Start runner client that retrieves configuration from server, runs it and reports results back to server.
"""Start runner client that retrieves configuration from server, runs it and reports results back to server.
...
...
simp/assignment_collection.py
View file @
3595c16d
...
@@ -29,8 +29,8 @@ class AssignmentCollection:
...
@@ -29,8 +29,8 @@ class AssignmentCollection:
def
__init__
(
self
,
main_assignments
:
Union
[
List
[
Assignment
],
Dict
[
sp
.
Expr
,
sp
.
Expr
]],
def
__init__
(
self
,
main_assignments
:
Union
[
List
[
Assignment
],
Dict
[
sp
.
Expr
,
sp
.
Expr
]],
subexpressions
:
Union
[
List
[
Assignment
],
Dict
[
sp
.
Expr
,
sp
.
Expr
]],
subexpressions
:
Union
[
List
[
Assignment
],
Dict
[
sp
.
Expr
,
sp
.
Expr
]],
simplification_hints
:
Optional
[
Dict
[
str
,
Any
]]
=
None
,
simplification_hints
:
Optional
[
Dict
[
str
,
Any
]]
=
None
,
subexpression_symbol_generator
:
Iterator
[
sp
.
Symbol
]
=
None
)
->
None
:
subexpression_symbol_generator
:
Iterator
[
sp
.
Symbol
]
=
None
)
->
None
:
if
isinstance
(
main_assignments
,
Dict
):
if
isinstance
(
main_assignments
,
Dict
):
main_assignments
=
[
Assignment
(
k
,
v
)
main_assignments
=
[
Assignment
(
k
,
v
)
for
k
,
v
in
main_assignments
.
items
()]
for
k
,
v
in
main_assignments
.
items
()]
...
@@ -144,7 +144,7 @@ class AssignmentCollection:
...
@@ -144,7 +144,7 @@ class AssignmentCollection:
return
handled_symbols
return
handled_symbols
def
lambdify
(
self
,
symbols
:
Sequence
[
sp
.
Symbol
],
fixed_symbols
:
Optional
[
Dict
[
sp
.
Symbol
,
Any
]]
=
None
,
module
=
None
):
def
lambdify
(
self
,
symbols
:
Sequence
[
sp
.
Symbol
],
fixed_symbols
:
Optional
[
Dict
[
sp
.
Symbol
,
Any
]]
=
None
,
module
=
None
):
"""Returns a python function to evaluate this equation collection.
"""Returns a python function to evaluate this equation collection.
Args:
Args:
...
...
sympyextensions.py
View file @
3595c16d
...
@@ -75,8 +75,8 @@ def tanh_step_function_approximation(x, step_location, kind='right', steepness=0
...
@@ -75,8 +75,8 @@ def tanh_step_function_approximation(x, step_location, kind='right', steepness=0
return
(
1
+
sp
.
tanh
((
x
-
step_location
)
/
steepness
))
/
2
return
(
1
+
sp
.
tanh
((
x
-
step_location
)
/
steepness
))
/
2
elif
kind
==
'middle'
:
elif
kind
==
'middle'
:
x1
,
x2
=
step_location
x1
,
x2
=
step_location
return
1
-
(
tanh_step_function_approximation
(
x
,
x1
,
'left'
,
steepness
)
+
return
1
-
(
tanh_step_function_approximation
(
x
,
x1
,
'left'
,
steepness
)
tanh_step_function_approximation
(
x
,
x2
,
'right'
,
steepness
))
+
tanh_step_function_approximation
(
x
,
x2
,
'right'
,
steepness
))
def
multidimensional_sum
(
i
,
dim
):
def
multidimensional_sum
(
i
,
dim
):
...
...
transformations.py
View file @
3595c16d
...
@@ -621,7 +621,7 @@ def cut_loop(loop_node, cutting_points):
...
@@ -621,7 +621,7 @@ def cut_loop(loop_node, cutting_points):
return
new_loops
return
new_loops
def
simplify_conditionals
(
node
:
ast
.
Node
,
loop_counter_simplification
:
bool
=
False
)
->
None
:
def
simplify_conditionals
(
node
:
ast
.
Node
,
loop_counter_simplification
:
bool
=
False
)
->
None
:
"""Removes conditionals that are always true/false.
"""Removes conditionals that are always true/false.
Args:
Args:
...
@@ -975,8 +975,8 @@ def get_optimal_loop_ordering(fields):
...
@@ -975,8 +975,8 @@ def get_optimal_loop_ordering(fields):
layouts
=
set
([
field
.
layout
for
field
in
fields
])
layouts
=
set
([
field
.
layout
for
field
in
fields
])
if
len
(
layouts
)
>
1
:
if
len
(
layouts
)
>
1
:
raise
ValueError
(
"Due to different layout of the fields no optimal loop ordering exists "
+
raise
ValueError
(
"Due to different layout of the fields no optimal loop ordering exists "
str
({
f
.
name
:
f
.
layout
for
f
in
fields
}))
+
str
({
f
.
name
:
f
.
layout
for
f
in
fields
}))
layout
=
list
(
layouts
)[
0
]
layout
=
list
(
layouts
)[
0
]
return
list
(
layout
)
return
list
(
layout
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment