Skip to content
Projects

tree_d_3d.kernels.tests.test_metal_fmm_kernels

The Metal versions of the FMM and tree-build kernels, against the CPU versions.

Each test calls a <name>_metal.py function and the Pyccel (or NumPy) version with the same arrays. The GPU computes in float32; skipped without MLX and a Metal GPU.

Attributes

NameDescription
ORDERNo description.
SOFTENINGNo description.
pytestmarkNo description.

ORDERattributemodule attribute#

ORDER = 8

SOFTENINGattributemodule attribute#

SOFTENING = 0.01

pytestmarkattributemodule attribute#

pytestmark = pytest.mark.skipif(not metal_available(), reason='MLX with a Metal GPU is not available')

systemfunction#

def system()

test_fmm_chain_m2l_downward_evaluatefunction#

def test_fmm_chain_m2l_downward_evaluate(system, tree)

test_fmm_traverse_lists_equal_the_cpu_listsfunction#

def test_fmm_traverse_lists_equal_the_cpu_lists(tree)

test_fmm_traverse_reports_a_small_bufferfunction#

def test_fmm_traverse_reports_a_small_buffer(tree)

test_soften_pairsfunction#

def test_soften_pairs(system)

test_soften_pairs_reports_coincident_chargesfunction#

def test_soften_pairs_reports_coincident_charges()

test_tree_build_kernels_and_momentsfunction#

def test_tree_build_kernels_and_moments(system, tree)

treefunction#

def tree(system)