# tree_d_3d.kernels.direct_log_sum

*module*

The direct_log_sum 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/direct_log_sum/__init__.py#L1-L1)

## tree_d_3d.kernels.direct_log_sum.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/direct_log_sum/__init__.py#L13-L13)

**Modules**

- `tree_d_3d.kernels.direct_log_sum.direct_log_sum_metal`
- `tree_d_3d.kernels.direct_log_sum.direct_log_sum_numpy`
- `tree_d_3d.kernels.direct_log_sum.direct_log_sum_pyccel`
