Skip to content

Commit 1055113

Browse files
committed
fix dupe
1 parent 09e0776 commit 1055113

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

extension/android/executorch_android/src/androidTest/java/org/pytorch/executorch/ModuleE2ETest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void testXnnpackBackendRequired() throws IOException, URISyntaxException
9898
inputStream.close();
9999

100100
Module module = Module.load(getTestFilePath("/mv3_xnnpack_fp32.pte"));
101-
String[] expectedBackends = new String[] {"XnnpackBackend", "XnnpackBackend"};
101+
String[] expectedBackends = new String[] {"XnnpackBackend"};
102102
assertArrayEquals(expectedBackends, module.getUsedBackends("forward"));
103103
}
104104

extension/android/jni/jni_layer.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <sstream>
1414
#include <string>
1515
#include <unordered_map>
16+
#include <unordered_set>
1617
#include <vector>
1718

1819
#include "jni_layer_constants.h"
@@ -398,13 +399,20 @@ class ExecuTorchJni : public facebook::jni::HybridClass<ExecuTorchJni> {
398399
facebook::jni::local_ref<facebook::jni::JArrayClass<jstring>> getUsedBackends(
399400
facebook::jni::alias_ref<jstring> methodName) {
400401
auto methodMeta = module_->method_meta(methodName->toStdString()).get();
402+
std::unordered_set<std::string> backends;
403+
for (auto i = 0; i < methodMeta.num_backends(); i++) {
404+
backends.insert(methodMeta.get_backend_name(i).get());
405+
}
406+
401407
facebook::jni::local_ref<facebook::jni::JArrayClass<jstring>> ret =
402408
facebook::jni::JArrayClass<jstring>::newArray(
403-
methodMeta.num_backends());
404-
for (auto i = 0; i < methodMeta.num_backends(); i++) {
409+
backends.size());
410+
int i = 0;
411+
for (auto s: backends) {
405412
facebook::jni::local_ref<facebook::jni::JString> backend_name =
406-
facebook::jni::make_jstring(methodMeta.get_backend_name(i).get());
413+
facebook::jni::make_jstring(s.c_str());
407414
(*ret)[i] = backend_name;
415+
i++;
408416
}
409417
return ret;
410418
}

0 commit comments

Comments
 (0)