diff --git a/doc/upload-docs.sh b/doc/upload-docs.sh index f26bc65f7..294890d1a 100755 --- a/doc/upload-docs.sh +++ b/doc/upload-docs.sh @@ -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 diff --git a/examples/layerpot-3d.py b/examples/layerpot-3d.py index e40914f5c..0c03a4900 100644 --- a/examples/layerpot-3d.py +++ b/examples/layerpot-3d.py @@ -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 diff --git a/examples/layerpot.py b/examples/layerpot.py index bfc49b1bd..287f03259 100644 --- a/examples/layerpot.py +++ b/examples/layerpot.py @@ -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 diff --git a/pytential/linalg/skeletonization.py b/pytential/linalg/skeletonization.py index cbadefc26..a5df89ee5 100644 --- a/pytential/linalg/skeletonization.py +++ b/pytential/linalg/skeletonization.py @@ -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, diff --git a/pytential/qbx/__init__.py b/pytential/qbx/__init__.py index fe9c0aba6..cb9cc7dab 100644 --- a/pytential/qbx/__init__.py +++ b/pytential/qbx/__init__.py @@ -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( diff --git a/pytential/qbx/fmm.py b/pytential/qbx/fmm.py index 4779a6000..34fdfa5c9 100644 --- a/pytential/qbx/fmm.py +++ b/pytential/qbx/fmm.py @@ -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. @@ -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] diff --git a/pytential/qbx/geometry.py b/pytential/qbx/geometry.py index b21543990..fdbcb5bb2 100644 --- a/pytential/qbx/geometry.py +++ b/pytential/qbx/geometry.py @@ -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], @@ -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): @@ -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 @@ -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) @@ -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) @@ -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] = ( @@ -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) @@ -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, @@ -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) @@ -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, diff --git a/pytential/qbx/refinement.py b/pytential/qbx/refinement.py index 49d1c0b36..bf59e9f9e 100644 --- a/pytential/qbx/refinement.py +++ b/pytential/qbx/refinement.py @@ -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 @@ -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 @@ -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 diff --git a/pytential/qbx/target_assoc.py b/pytential/qbx/target_assoc.py index 5033ca030..5b3c1ddc6 100644 --- a/pytential/qbx/target_assoc.py +++ b/pytential/qbx/target_assoc.py @@ -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. @@ -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 @@ -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. @@ -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: @@ -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, @@ -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, diff --git a/pytential/qbx/utils.py b/pytential/qbx/utils.py index d22c045a2..3a51a5e65 100644 --- a/pytential/qbx/utils.py +++ b/pytential/qbx/utils.py @@ -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() @@ -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: diff --git a/pytential/unregularized.py b/pytential/unregularized.py index 11b0722d5..ad80c1ae8 100644 --- a/pytential/unregularized.py +++ b/pytential/unregularized.py @@ -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() @@ -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) diff --git a/test/test_cost_model.py b/test/test_cost_model.py index 2486227a7..9ca455d54 100644 --- a/test/test_cost_model.py +++ b/test/test_cost_model.py @@ -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)