tree_d_3d.kernels.fmm_downward.fmm_downward_metal
The Metal version (Apple-silicon GPU, float32) of the fmm_downward kernel.
fmm_downward_pyccel.py next to this file is the CPU version with the same
arguments. One thread per node of first_node:last_node; a child has one parent, so
each thread writes its own children’s rows of a zeroed delta (no atomics), which the
host adds to the local expansions in float64. The power_re and power_im
scratch arguments of the CPU version are unused. See :mod:tree_d_3d.kernels._metal.
Functions
| Name | Description |
|---|---|
fmm_downward | Shift the local expansions of nodes first_node:last_node into their children. |