From cafdc2daee11d3a5637932f814695cbfcb3a6c7c Mon Sep 17 00:00:00 2001 From: "jiseong.oh" Date: Thu, 12 Feb 2026 06:39:45 +0000 Subject: [PATCH 1/2] support NextGen Exynos SoC -Support Exynos 2600 Signed-off-by: jiseong.oh --- backends/samsung/README.md | 3 ++- backends/samsung/serialization/compile_options.py | 3 ++- docs/source/backends/samsung/samsung-overview.md | 1 + docs/source/backends/samsung/samsung-partitioner.md | 4 ++-- examples/samsung/scripts/deeplab_v3.py | 2 +- examples/samsung/scripts/edsr.py | 2 +- examples/samsung/scripts/inception_v3.py | 2 +- examples/samsung/scripts/inception_v4.py | 2 +- examples/samsung/scripts/mobilenet_v2.py | 2 +- examples/samsung/scripts/mobilenet_v3.py | 2 +- examples/samsung/scripts/resnet18.py | 2 +- examples/samsung/scripts/resnet50.py | 2 +- examples/samsung/scripts/vit.py | 2 +- examples/samsung/scripts/wav2letter.py | 2 +- 14 files changed, 17 insertions(+), 14 deletions(-) diff --git a/backends/samsung/README.md b/backends/samsung/README.md index fcb7ef84b75..bc48bad830a 100644 --- a/backends/samsung/README.md +++ b/backends/samsung/README.md @@ -10,6 +10,7 @@ Please prepare the SDK before you start, it is important to code compilation and ### Supported Chipset - Exynos 2500 (E9955) +- Exynos 2600 (E9965) ### Supported Inference Type - Quantized (i8/u8/i16/u16) @@ -67,6 +68,6 @@ cmake --build cmake-android-out/extension/android -j8 ``` ## Examples -python -m executorch.examples.samsung.aot_compiler --chipset e9955 -m ic3 +python -m executorch.examples.samsung.aot_compiler --chipset e9955 (or e9965) -m ic3 Please see this [README.md](../../examples/samsung/README.md). diff --git a/backends/samsung/serialization/compile_options.py b/backends/samsung/serialization/compile_options.py index a4af40368e9..039394dcc84 100644 --- a/backends/samsung/serialization/compile_options.py +++ b/backends/samsung/serialization/compile_options.py @@ -22,6 +22,7 @@ class SamsungChipset(IntEnum): UNDEFINED_CHIP_V = 0 E9955 = 9955 + E9965 = 9965 @dataclass @@ -65,7 +66,7 @@ def gen_samsung_backend_compile_spec( A function to generate an ExecuTorch binary for Samsung Backend. Attributes: - chipset (str): chipset name in SamsungChipset. For example, E9955 or e9955 both work. + chipset (str): chipset name in SamsungChipset. For example, E9955(E9965) or E9955(e9965) both work. Returns: CompileSpec: key is COMPILE_OPTION_SCHEMA_NAME, value is serialization binary of fb schema diff --git a/docs/source/backends/samsung/samsung-overview.md b/docs/source/backends/samsung/samsung-overview.md index f2f7dcd45a6..891cb3fbc0b 100644 --- a/docs/source/backends/samsung/samsung-overview.md +++ b/docs/source/backends/samsung/samsung-overview.md @@ -18,6 +18,7 @@ Currently, the Samsung Exynos backend is supported only for devices with the following chipsets: - Exynos 2500 (E9955) +- Exynos 2600 (E9965) ## Development Requirements diff --git a/docs/source/backends/samsung/samsung-partitioner.md b/docs/source/backends/samsung/samsung-partitioner.md index eb84a795551..a43e5e1cf41 100644 --- a/docs/source/backends/samsung/samsung-partitioner.md +++ b/docs/source/backends/samsung/samsung-partitioner.md @@ -25,5 +25,5 @@ et_program = to_edge_transform_and_lower( ).to_executorch() ``` -At the moment, only `"E9955"` is supported as a valid chipset name, which corresponds to -the Exynose 2500 SoC. Support for additional chipsets will be added in the future. +At the moment, only `"E9955"` and `"E9965"` are supported as a valid chipset name, which corresponds to +the Exynose 2500 and Exynos 2600 SoC. Support for additional chipsets will be added in the future. diff --git a/examples/samsung/scripts/deeplab_v3.py b/examples/samsung/scripts/deeplab_v3.py index b1e8fef65fe..8538515db6d 100644 --- a/examples/samsung/scripts/deeplab_v3.py +++ b/examples/samsung/scripts/deeplab_v3.py @@ -74,7 +74,7 @@ def get_dataset( "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/edsr.py b/examples/samsung/scripts/edsr.py index f300a9c8547..e501f16f099 100644 --- a/examples/samsung/scripts/edsr.py +++ b/examples/samsung/scripts/edsr.py @@ -87,7 +87,7 @@ def __call__(self, x): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/inception_v3.py b/examples/samsung/scripts/inception_v3.py index 77540285eab..17b745b239d 100644 --- a/examples/samsung/scripts/inception_v3.py +++ b/examples/samsung/scripts/inception_v3.py @@ -69,7 +69,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/inception_v4.py b/examples/samsung/scripts/inception_v4.py index 3140682998c..b47a853759f 100644 --- a/examples/samsung/scripts/inception_v4.py +++ b/examples/samsung/scripts/inception_v4.py @@ -67,7 +67,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/mobilenet_v2.py b/examples/samsung/scripts/mobilenet_v2.py index 7c69de38e2c..e36fa6d9de9 100644 --- a/examples/samsung/scripts/mobilenet_v2.py +++ b/examples/samsung/scripts/mobilenet_v2.py @@ -69,7 +69,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/mobilenet_v3.py b/examples/samsung/scripts/mobilenet_v3.py index 3cc8eadf633..83361522f4d 100644 --- a/examples/samsung/scripts/mobilenet_v3.py +++ b/examples/samsung/scripts/mobilenet_v3.py @@ -69,7 +69,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/resnet18.py b/examples/samsung/scripts/resnet18.py index 2f3233214ce..3fd263f61af 100644 --- a/examples/samsung/scripts/resnet18.py +++ b/examples/samsung/scripts/resnet18.py @@ -69,7 +69,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/resnet50.py b/examples/samsung/scripts/resnet50.py index 1d6c348b641..04dd05b0c1a 100644 --- a/examples/samsung/scripts/resnet50.py +++ b/examples/samsung/scripts/resnet50.py @@ -69,7 +69,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/vit.py b/examples/samsung/scripts/vit.py index 19c22c473cd..7393cd5c53e 100644 --- a/examples/samsung/scripts/vit.py +++ b/examples/samsung/scripts/vit.py @@ -69,7 +69,7 @@ def get_data_loader(): "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( diff --git a/examples/samsung/scripts/wav2letter.py b/examples/samsung/scripts/wav2letter.py index 33069105d99..79202d7ad63 100644 --- a/examples/samsung/scripts/wav2letter.py +++ b/examples/samsung/scripts/wav2letter.py @@ -125,7 +125,7 @@ def get_dataset( "-c", "--chipset", default="E9955", - help="Samsung chipset, i.e. E9945, E9955, etc", + help="Samsung chipset, i.e. E9955, E9965, etc", type=str, ) parser.add_argument( From fd2e8387bdd39250b85d89ae0ffe14cfc897eb88 Mon Sep 17 00:00:00 2001 From: "jiseong.oh" Date: Sat, 14 Feb 2026 06:13:44 +0000 Subject: [PATCH 2/2] fix random input issue -It can be occured accuracy issue for iv3 due to random input issue so it change to use manual_seed Signed-off-by: jiseong.oh --- backends/samsung/test/models/test_inception_v3.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backends/samsung/test/models/test_inception_v3.py b/backends/samsung/test/models/test_inception_v3.py index f3b753b946c..ef3a94c2a62 100644 --- a/backends/samsung/test/models/test_inception_v3.py +++ b/backends/samsung/test/models/test_inception_v3.py @@ -8,6 +8,8 @@ import unittest +import torch + from executorch.backends.samsung.serialization.compile_options import ( gen_samsung_backend_compile_spec, ) @@ -17,6 +19,7 @@ class TestInceptionV3(unittest.TestCase): def test_inception_v3_fp16(self): + torch.manual_seed(8) model = InceptionV3Model().get_eager_model() example_input = InceptionV3Model().get_example_inputs() tester = SamsungTester(