Rate this Page

Partitioner API#

The EnnPartitioner API is the primary entrypoint when exporting a model to the Samsung Exynos backend. The partitioner is responsible for determining which parts of the model should be lowered to the backend and also provides an interface for configuring the behaviour of the backend.

Currently, the configuration options for EnnPartitioner can be generated automatically using the gen_samsung_backend_compile_spec API. For instance,

from executorch.backends.samsung.partition.enn_partitioner import EnnPartitioner
from executorch.backends.samsung.serialization.compile_options import (
    gen_samsung_backend_compile_spec,
)

from executorch.exir import to_edge_transform_and_lower

chipset = "E9955"  # or "E9965" for Exynos 2600
compile_specs = [gen_samsung_backend_compile_spec(chipset)]

et_program = to_edge_transform_and_lower(
    exported_program,
    partitioner=[EnnPartitioner(compile_specs)],
).to_executorch()

At the moment, only "E9955" and "E9965" are supported as a valid chipset name, which corresponds to the Exynos 2500 and Exynos 2600 SoC. Support for additional chipsets will be added in the future.