# tree_d_3d.kernels.quadtree_moments

*module*

The quadtree_moments kernel of the Barnes-Hut and FMM solvers: Pyccel, NumPy and CUDA versions
with the same arguments.

``kernel(...)`` runs the CUDA version when the arrays are CuPy arrays, and otherwise the
Pyccel version, or the NumPy version if Pyccel is unavailable (see
``cunumpy.kernels.set_host_kernel_implementation`` to choose).

[View source](https://github.com/max-models/tree-d-3d/blob/devel/src/tree_d_3d/kernels/quadtree_moments/__init__.py#L1-L1)

## tree_d_3d.kernels.quadtree_moments.kernel

*attribute* · *module attribute*

```python
kernel = xp.kernels.Kernel.from_folder(__name__, **KERNEL_OPTIONS)
```

[View source](https://github.com/max-models/tree-d-3d/blob/devel/src/tree_d_3d/kernels/quadtree_moments/__init__.py#L13-L13)

**Modules**

- `tree_d_3d.kernels.quadtree_moments.quadtree_moments_metal`
- `tree_d_3d.kernels.quadtree_moments.quadtree_moments_numpy`
- `tree_d_3d.kernels.quadtree_moments.quadtree_moments_pyccel`
