tree_d_3d.kernels.evaluate_log_quadtree.evaluate_log_quadtree_metal
The Metal version (Apple-silicon GPU, float32) of the evaluate_log_quadtree kernel.
evaluate_log_quadtree_pyccel.py next to this file is the CPU version with the same
arguments. One thread per target, each walking the tree with a stack in thread
memory (the stack argument is the CPU’s scratch and unused here); a tree too
deep for it reports status -1. See :mod:tree_d_3d.kernels._metal.
Functions
| Name | Description |
|---|---|
evaluate_log_quadtree | Barnes-Hut line-charge potential and field with multipole cells on the GPU. |
evaluate_log_quadtreefunction#
def evaluate_log_quadtree(targets: Array, exclude: Array, pos: Array, charge: Array, perm: Array, node_center: Array, node_half: Array, node_start: Array, node_end: Array, node_child: Array, node_qabs: Array, moment_re: Array, moment_im: Array, theta: float, softening: float, stack: Array, phi: Array, field: Array, status: Array) -> NoneBarnes-Hut line-charge potential and field with multipole cells on the GPU.