IVGCVSW-2535 Fix crash in ExecuteNetwork when no compute device is specified
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Tue, 22 Jan 2019 14:10:39 +0000 (14:10 +0000)
committerMatteo Martincigh <matteo.martincigh@arm.com>
Tue, 22 Jan 2019 15:23:54 +0000 (15:23 +0000)
Change-Id: If8d6516286557a6381561805cd53b5659b38f6a6

tests/ExecuteNetwork/ExecuteNetwork.cpp

index 7d6aafc..dd76975 100644 (file)
@@ -588,8 +588,11 @@ int main(int argc, const char* argv[])
     }
     else // Run single test
     {
-        // Get the preferred order of compute devices.
-        std::vector<std::string> computeDevicesAsStrings = vm["compute"].as<std::vector<std::string>>();
+        // Get the preferred order of compute devices. If none are specified, default to using CpuRef
+        const std::string computeOption("compute");
+        std::vector<std::string> computeDevicesAsStrings = CheckOption(vm, computeOption.c_str()) ?
+            vm[computeOption].as<std::vector<std::string>>() :
+            std::vector<std::string>({ "CpuRef" });
         std::vector<armnn::BackendId> computeDevices(computeDevicesAsStrings.begin(), computeDevicesAsStrings.end());
 
         // Remove duplicates from the list of compute devices.