Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/upload-docs.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#! /bin/sh

rsync --verbose --archive --delete _build/html/* doc-upload:doc/pytential
rsync --verbose --archive --delete _build/html/ doc-upload:doc/pytential
2 changes: 1 addition & 1 deletion examples/layerpot-3d.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def main(mesh_name="ellipsoid"):

if 0:
from random import randrange
sigma = actx.zeros(density_discr.ndofs, angle.entry_dtype)
sigma = actx.np.zeros(density_discr.ndofs, angle.entry_dtype)
for _ in range(5):
sigma[randrange(len(sigma))] = 1

Expand Down
2 changes: 1 addition & 1 deletion examples/layerpot.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def op(**kwargs):

if 0:
from random import randrange
sigma = actx.zeros(density_discr.ndofs, angle.entry_dtype)
sigma = actx.np.zeros(density_discr.ndofs, angle.entry_dtype)
for _ in range(5):
sigma[randrange(len(sigma))] = 1

Expand Down
2 changes: 1 addition & 1 deletion pytential/linalg/skeletonization.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ def prg():

waa = bind(places, sym.weights_and_area_elements(
places.ambient_dim, dofdesc=domain))(actx)
result = actx.zeros((cluster_index.nclusters,), dtype=waa.entry_dtype)
result = actx.np.zeros((cluster_index.nclusters,), dtype=waa.entry_dtype)

from arraycontext import flatten
_, (waa_per_cluster,) = prg()(actx.queue,
Expand Down
2 changes: 1 addition & 1 deletion pytential/qbx/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -910,7 +910,7 @@ def _flat_centers(dofdesc, qbx_forced_limit):

qbx_tgt_numberer = self.get_qbx_target_numberer(
tgt_to_qbx_center.dtype)
qbx_tgt_count = actx.zeros((), np.int32)
qbx_tgt_count = actx.np.zeros((), np.int32)
qbx_tgt_numbers = actx.np.zeros_like(tgt_to_qbx_center)

qbx_tgt_numberer(
Expand Down
8 changes: 2 additions & 6 deletions pytential/qbx/fmm.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,8 +400,7 @@ def make_container():

# {{{ FMM top-level

def drive_fmm(expansion_wrangler, src_weight_vecs, timing_data=None,
traversal=None):
def drive_fmm(expansion_wrangler, src_weight_vecs, timing_data=None):
"""Top-level driver routine for the QBX fast multipole calculation.

:arg geo_data: A :class:`pytential.qbx.geometry.QBXFMMGeometryData` instance.
Expand All @@ -419,10 +418,7 @@ def drive_fmm(expansion_wrangler, src_weight_vecs, timing_data=None,
wrangler = expansion_wrangler

geo_data = wrangler.geo_data

if traversal is None:
traversal = geo_data.traversal()

traversal = wrangler.traversal
tree = traversal.tree

template_ary = src_weight_vecs[0]
Expand Down
26 changes: 13 additions & 13 deletions pytential/qbx/geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@ def target_info(self):

target_discr_starts.append(ntargets)

targets = actx.zeros((self.ambient_dim, ntargets), self.coord_dtype)
targets = actx.np.zeros((self.ambient_dim, ntargets), self.coord_dtype)
code_getter.copy_targets_kernel()(
actx.queue,
targets=targets[:, :self.ncenters],
Expand Down Expand Up @@ -511,7 +511,7 @@ def target_side_preferences(self):
actx = self._setup_actx
tgt_info = self.target_info()

target_side_preferences = actx.zeros(tgt_info.ntargets, dtype=np.int8)
target_side_preferences = actx.np.zeros(tgt_info.ntargets, dtype=np.int8)
for tdstart, (target_discr, qbx_side) in zip(
tgt_info.target_discr_starts,
self.target_discrs_and_qbx_sides):
Expand Down Expand Up @@ -545,10 +545,10 @@ def tree(self):

target_radii = None
if lpot_source._expansions_in_tree_have_extent:
target_radii = actx.zeros(target_info.ntargets, self.coord_dtype)
target_radii = actx.np.zeros(target_info.ntargets, self.coord_dtype)
target_radii[:self.ncenters] = self.flat_expansion_radii()

refine_weights = actx.zeros(nparticles, dtype=np.int32)
refine_weights = actx.np.zeros(nparticles, dtype=np.int32)

# Assign a weight of 1 to all sources, QBX centers, and conventional
# (non-QBX) targets. Assign a weight of 0 to all targets that need
Expand Down Expand Up @@ -624,7 +624,7 @@ def qbx_center_to_target_box(self):
tree.box_id_dtype,
)

box_to_target_box = actx.zeros(tree.nboxes, tree.box_id_dtype)
box_to_target_box = actx.np.zeros(tree.nboxes, tree.box_id_dtype)
if self.debug:
box_to_target_box.fill(-1)

Expand All @@ -641,7 +641,7 @@ def qbx_center_to_target_box(self):
dtype=user_target_from_tree_target.dtype)
)

qbx_center_to_target_box = actx.zeros(self.ncenters, tree.box_id_dtype)
qbx_center_to_target_box = actx.np.zeros(self.ncenters, tree.box_id_dtype)

if self.debug:
qbx_center_to_target_box.fill(-1)
Expand Down Expand Up @@ -676,7 +676,7 @@ def qbx_center_to_target_box_source_level(self, source_level):
sep_smaller = traversal.from_sep_smaller_by_level[source_level]
qbx_center_to_target_box = self.qbx_center_to_target_box()

target_box_to_target_box_source_level = actx.zeros(
target_box_to_target_box_source_level = actx.np.zeros(
len(traversal.target_boxes), dtype=traversal.tree.box_id_dtype)
target_box_to_target_box_source_level.fill(-1)
target_box_to_target_box_source_level[sep_smaller.nonempty_indices] = (
Expand Down Expand Up @@ -708,7 +708,7 @@ def global_qbx_flags(self):
"""
actx = self._setup_actx

result = actx.zeros(self.ncenters, np.int8)
result = actx.np.zeros(self.ncenters, np.int8)
result.fill(1)

return actx.freeze(result)
Expand All @@ -727,7 +727,7 @@ def global_qbx_centers(self):
user_target_to_center = actx.thaw(self.user_target_to_center())

tgt_assoc_result = user_target_to_center[self.ncenters:]
center_is_used = actx.zeros(self.ncenters, np.int8)
center_is_used = actx.np.zeros(self.ncenters, np.int8)

self.code_getter.pick_used_centers(
actx.queue,
Expand Down Expand Up @@ -792,7 +792,7 @@ def user_target_to_center(self):
self.target_association_tolerance),
debug=self.debug)

result = actx.zeros(
result = actx.np.zeros(
target_info.ntargets, tgt_assoc_result.target_to_center.dtype
)
result[:self.ncenters].fill(target_state.NO_QBX_NEEDED)
Expand All @@ -814,9 +814,9 @@ def center_to_tree_targets(self):
tree_ttc = actx.np.zeros_like(user_ttc)
tree_ttc[self.tree().sorted_target_ids] = user_ttc

filtered_tree_ttc = actx.zeros(tree_ttc.shape, dtype=tree_ttc.dtype)
filtered_target_ids = actx.zeros(tree_ttc.shape, dtype=tree_ttc.dtype)
count = actx.zeros(1, dtype=tree_ttc.dtype)
filtered_tree_ttc = actx.np.zeros(tree_ttc.shape, dtype=tree_ttc.dtype)
filtered_target_ids = actx.np.zeros(tree_ttc.shape, dtype=tree_ttc.dtype)
count = actx.np.zeros(1, dtype=tree_ttc.dtype)

self.code_getter.filter_center_and_target_ids(tree_ttc.dtype)(
tree_ttc, filtered_tree_ttc, filtered_target_ids, count,
Expand Down
6 changes: 3 additions & 3 deletions pytential/qbx/refinement.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ def check_expansion_disks_undisturbed_by_sources(self,
nelements_to_refine_prev = actx.to_numpy(
actx.np.sum(refine_flags)).item()

found_element_to_refine = actx.zeros(1, dtype=np.int32)
found_element_to_refine = actx.np.zeros(1, dtype=np.int32)
found_element_to_refine.finish()
unwrap_args = AreaQueryElementwiseTemplate.unwrap_args

Expand Down Expand Up @@ -378,7 +378,7 @@ def check_sufficient_source_quadrature_resolution(self,
nelements_to_refine_prev = actx.to_numpy(
actx.np.sum(refine_flags)).item()

found_element_to_refine = actx.zeros(1, dtype=np.int32)
found_element_to_refine = actx.np.zeros(1, dtype=np.int32)
found_element_to_refine.finish()

from pytential import bind, sym
Expand Down Expand Up @@ -486,7 +486,7 @@ def make_empty_refine_flags(actx, density_discr):
:returns: A :class:`pyopencl.array.Array` suitable for use as refine flags,
initialized to zero.
"""
result = actx.zeros(density_discr.mesh.nelements, np.int32)
result = actx.np.zeros(density_discr.mesh.nelements, np.int32)
result.finish()
return result

Expand Down
12 changes: 6 additions & 6 deletions pytential/qbx/target_assoc.py
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ def mark_targets(self, places, dofdesc,
tree.particle_id_dtype,
max_levels)

found_target_close_to_element = actx.zeros(1, np.int32)
found_target_close_to_element = actx.np.zeros(1, np.int32)
found_target_close_to_element.finish()

# Perform a space invader query over the sources.
Expand Down Expand Up @@ -658,7 +658,7 @@ def find_centers(self, places, dofdesc,
wait_for = [evt]

def make_target_field(fill_val, dtype=tree.coord_dtype):
arr = actx.zeros(tree.nqbxtargets, dtype)
arr = actx.np.zeros(tree.nqbxtargets, dtype)
arr.fill(fill_val)
wait_for.extend(arr.events)
return arr
Expand Down Expand Up @@ -729,7 +729,7 @@ def mark_elements_for_refinement(self, places, dofdesc,
tree.particle_id_dtype,
max_levels)

found_element_to_refine = actx.zeros(1, np.int32)
found_element_to_refine = actx.np.zeros(1, np.int32)
found_element_to_refine.finish()

# Perform a space invader query over the sources.
Expand Down Expand Up @@ -790,7 +790,7 @@ def make_target_flags(self, target_discrs_and_qbx_sides):
actx = self.array_context

ntargets = sum(discr.ndofs for discr, _ in target_discrs_and_qbx_sides)
target_flags = actx.zeros(ntargets, dtype=np.int32)
target_flags = actx.np.zeros(ntargets, dtype=np.int32)

offset = 0
for discr, flags in target_discrs_and_qbx_sides:
Expand Down Expand Up @@ -849,7 +849,7 @@ def associate_targets_to_qbx_centers(places, geometry, wrangler,

peer_lists = wrangler.find_peer_lists(tree)

target_status = actx.zeros(tree.nqbxtargets, dtype=np.int32)
target_status = actx.np.zeros(tree.nqbxtargets, dtype=np.int32)
target_status.finish()

have_close_targets = wrangler.mark_targets(places, dofdesc,
Expand Down Expand Up @@ -892,7 +892,7 @@ def associate_targets_to_qbx_centers(places, geometry, wrangler,
"the 'target_association_tolerance' parameter, but "
"this could also cause an invalid center assignment.")

refine_flags = actx.zeros(tree.nqbxelements, dtype=np.int32)
refine_flags = actx.np.zeros(tree.nqbxelements, dtype=np.int32)
have_element_to_refine = wrangler.mark_elements_for_refinement(
places, dofdesc,
tree, peer_lists, target_status, refine_flags,
Expand Down
4 changes: 2 additions & 2 deletions pytential/qbx/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ def _make_centers(discr):

# Build tree with sources and centers. Split boxes
# only because of sources.
refine_weights = actx.zeros(nparticles, np.int32)
refine_weights = actx.np.zeros(nparticles, np.int32)
refine_weights[:nsources].fill(1)

refine_weights.finish()
Expand Down Expand Up @@ -363,7 +363,7 @@ def _make_centers(discr):
del box_to_class

# Compute element => source relation
qbx_element_to_source_starts = actx.zeros(nelements + 1, tree.particle_id_dtype)
qbx_element_to_source_starts = actx.np.zeros(nelements + 1, tree.particle_id_dtype)
el_offset = 0
node_nr_base = 0
for group in density_discr.groups:
Expand Down
4 changes: 2 additions & 2 deletions pytential/unregularized.py
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ def tree(self):
nsources = lpot_src.density_discr.ndofs
nparticles = nsources + target_info.ntargets

refine_weights = actx.zeros(nparticles, dtype=np.int32)
refine_weights = actx.np.zeros(nparticles, dtype=np.int32)
refine_weights[:nsources] = 1
refine_weights.finish()

Expand Down Expand Up @@ -449,7 +449,7 @@ def target_info(self):
actx = self.array_context
target_discr_starts.append(ntargets)

targets = actx.zeros(
targets = actx.np.zeros(
(lpot_src.ambient_dim, ntargets),
self.coord_dtype)

Expand Down
4 changes: 2 additions & 2 deletions test/test_cost_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -745,8 +745,8 @@ def test_cost_model_correctness(actx_factory, dim, off_surface,
src_weights = np.ones(ndofs)

timing_data = {}
potential = drive_fmm(wrangler, (src_weights,), timing_data,
traversal=wrangler.trav)[0][geo_data.ncenters:]
potential = drive_fmm(wrangler, (src_weights,), timing_data
)[0][geo_data.ncenters:]

# Check constant one wrangler for correctness.
assert np.all(potential == ndofs)
Expand Down