aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColm Donelan <Colm.Donelan@arm.com>2020-09-09 17:56:55 +0100
committerJan Eilers <jan.eilers@arm.com>2020-10-07 10:30:45 +0100
commit08d9a1c4c9cbea4e743feefdd310ff038a6c4588 (patch)
tree934bb78f78c4c87150e1a31461a05aca1fa0946a
parent4918446f3490e4edab86a5dc75aba3cdf74ae430 (diff)
downloadandroid-nn-driver-08d9a1c4c9cbea4e743feefdd310ff038a6c4588.tar.gz
IVGCVSW-5298 Remove boost::format from Android-nn-driver
* Replaced with stringstream, string or filesystem::path Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I2aa80d88cc0eaff5de4dc6a121370ebf41dcb0a8
-rw-r--r--Android.mk9
-rw-r--r--ArmnnDriverImpl.cpp11
-rw-r--r--ArmnnPreparedModel.cpp4
-rw-r--r--ArmnnPreparedModel_1_2.cpp3
-rw-r--r--ArmnnPreparedModel_1_3.cpp3
-rw-r--r--Utils.cpp27
-rw-r--r--Utils.hpp3
-rw-r--r--test/Android.mk10
-rw-r--r--test/UtilsTests.cpp11
9 files changed, 47 insertions, 34 deletions
diff --git a/Android.mk b/Android.mk
index 98c89032..673bf325 100644
--- a/Android.mk
+++ b/Android.mk
@@ -49,6 +49,7 @@ endif
# Configure these paths if you move the source or Khronos headers
ARMNN_HEADER_PATH := $(LOCAL_PATH)/armnn/include
+ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/armnn/third-party
ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/armnn/src/armnnUtils
OPENCL_HEADER_PATH := $(LOCAL_PATH)/clframework/include
NN_HEADER_PATH := $(LOCAL_PATH)/../../../frameworks/ml/nn/runtime/include
@@ -104,6 +105,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(ARMNN_UTILS_HEADER_PATH) \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH)
@@ -236,6 +238,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(ARMNN_UTILS_HEADER_PATH) \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH)
@@ -361,6 +364,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(ARMNN_UTILS_HEADER_PATH) \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH)
@@ -481,6 +485,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(ARMNN_UTILS_HEADER_PATH) \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH)
@@ -603,6 +608,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(NN_HEADER_PATH)
LOCAL_CFLAGS := \
@@ -707,6 +713,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(NN_HEADER_PATH)
LOCAL_CFLAGS := \
@@ -803,6 +810,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(NN_HEADER_PATH)
LOCAL_CFLAGS := \
@@ -891,6 +899,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_C_INCLUDES := \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
$(NN_HEADER_PATH)
LOCAL_CFLAGS := \
diff --git a/ArmnnDriverImpl.cpp b/ArmnnDriverImpl.cpp
index 936cc6e5..0934e2c3 100644
--- a/ArmnnDriverImpl.cpp
+++ b/ArmnnDriverImpl.cpp
@@ -20,6 +20,7 @@
#include "ModelToINetworkConverter.hpp"
#include "SystemPropertiesUtils.hpp"
+
#include <ValidateHal.h>
#include <log/log.h>
@@ -219,11 +220,11 @@ Return<void> ArmnnDriverImpl<HalPolicy>::getSupportedOperations(const armnn::IRu
std::string timestamp;
if (!options.GetRequestInputsAndOutputsDumpDir().empty())
{
- timestamp = GetFileTimestamp();
- fileName = boost::str(boost::format("%1%/%2%_getSupportedOperations.txt")
- % options.GetRequestInputsAndOutputsDumpDir()
- % timestamp);
- ss << " : " << fileName;
+ ss << " : "
+ << options.GetRequestInputsAndOutputsDumpDir()
+ << "/"
+ << GetFileTimestamp()
+ << "_getSupportedOperations.txt";
}
ALOGV(ss.str().c_str());
diff --git a/ArmnnPreparedModel.cpp b/ArmnnPreparedModel.cpp
index 8aa28d7e..c6b6b71c 100644
--- a/ArmnnPreparedModel.cpp
+++ b/ArmnnPreparedModel.cpp
@@ -8,12 +8,10 @@
#include "ArmnnPreparedModel.hpp"
#include "Utils.hpp"
-#include <boost/format.hpp>
#include <log/log.h>
#include <OperationsUtils.h>
#include <ValidateHal.h>
-
#include <cassert>
#include <cinttypes>
@@ -94,7 +92,7 @@ void ArmnnPreparedModel<HalVersion>::DumpTensorsIfRequired(char const* tensorNam
{
if (!m_RequestInputsAndOutputsDumpDir.empty())
{
- const std::string requestName = boost::str(boost::format("%1%_%2%.dump") % m_NetworkId % m_RequestCount);
+ const std::string requestName = std::to_string(m_NetworkId) + "_" + std::to_string(m_RequestCount) + ".dump";
for (std::size_t i = 0u; i < tensorBindings.size(); ++i)
{
DumpTensor(m_RequestInputsAndOutputsDumpDir,
diff --git a/ArmnnPreparedModel_1_2.cpp b/ArmnnPreparedModel_1_2.cpp
index dd5bdae7..c2148ba1 100644
--- a/ArmnnPreparedModel_1_2.cpp
+++ b/ArmnnPreparedModel_1_2.cpp
@@ -8,7 +8,6 @@
#include "ArmnnPreparedModel_1_2.hpp"
#include "Utils.hpp"
-#include <boost/format.hpp>
#include <log/log.h>
#include <OperationsUtils.h>
#include <ExecutionBurstServer.h>
@@ -127,7 +126,7 @@ void ArmnnPreparedModel_1_2<HalVersion>::DumpTensorsIfRequired(char const* tenso
{
if (!m_RequestInputsAndOutputsDumpDir.empty())
{
- const std::string requestName = boost::str(boost::format("%1%_%2%.dump") % m_NetworkId % m_RequestCount);
+ const std::string requestName = std::to_string(m_NetworkId) + "_" + std::to_string(m_RequestCount) + ".dump";
for (std::size_t i = 0u; i < tensorBindings.size(); ++i)
{
DumpTensor(m_RequestInputsAndOutputsDumpDir,
diff --git a/ArmnnPreparedModel_1_3.cpp b/ArmnnPreparedModel_1_3.cpp
index 386cc174..aed4fa14 100644
--- a/ArmnnPreparedModel_1_3.cpp
+++ b/ArmnnPreparedModel_1_3.cpp
@@ -14,7 +14,6 @@
#include <Utils.h>
#include <android/sync.h>
-#include <boost/format.hpp>
#include <log/log.h>
#include <OperationsUtils.h>
#include <ExecutionBurstServer.h>
@@ -148,7 +147,7 @@ void ArmnnPreparedModel_1_3<HalVersion>::DumpTensorsIfRequired(char const* tenso
{
if (!m_RequestInputsAndOutputsDumpDir.empty())
{
- const std::string requestName = boost::str(boost::format("%1%_%2%.dump") % m_NetworkId % m_RequestCount);
+ const std::string requestName = std::to_string(m_NetworkId) + "_" + std::to_string(m_RequestCount) + ".dump";
for (std::size_t i = 0u; i < tensorBindings.size(); ++i)
{
DumpTensor(m_RequestInputsAndOutputsDumpDir,
diff --git a/Utils.cpp b/Utils.cpp
index 77575d70..895278a4 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -12,6 +12,8 @@
#include <armnn/Utils.hpp>
#include <armnn/utility/Assert.hpp>
+#include <Filesystem.hpp>
+#include <log/log.h>
#include <cassert>
#include <cerrno>
@@ -374,10 +376,11 @@ void DumpTensor(const std::string& dumpDir,
const armnn::ConstTensor& tensor)
{
// The dump directory must exist in advance.
- const std::string fileName = boost::str(boost::format("%1%/%2%_%3%.dump") % dumpDir % requestName % tensorName);
+ fs::path dumpPath = dumpDir;
+ const fs::path fileName = dumpPath / (requestName + "_" + tensorName + ".dump");
std::ofstream fileStream;
- fileStream.open(fileName, std::ofstream::out | std::ofstream::trunc);
+ fileStream.open(fileName.c_str(), std::ofstream::out | std::ofstream::trunc);
if (!fileStream.good())
{
@@ -512,14 +515,12 @@ void DumpJsonProfilingIfRequired(bool gpuProfilingEnabled,
ARMNN_ASSERT(profiler);
// Set the name of the output profiling file.
- const std::string fileName = boost::str(boost::format("%1%/%2%_%3%.json")
- % dumpDir
- % std::to_string(networkId)
- % "profiling");
+ fs::path dumpPath = dumpDir;
+ const fs::path fileName = dumpPath / (std::to_string(networkId) + "_profiling.json");
// Open the ouput file for writing.
std::ofstream fileStream;
- fileStream.open(fileName, std::ofstream::out | std::ofstream::trunc);
+ fileStream.open(fileName.c_str(), std::ofstream::out | std::ofstream::trunc);
if (!fileStream.good())
{
@@ -548,9 +549,9 @@ std::string ExportNetworkGraphToDotFile(const armnn::IOptimizedNetwork& optimize
}
// Set the name of the output .dot file.
- fileName = boost::str(boost::format("%1%/%2%_networkgraph.dot")
- % dumpDir
- % timestamp);
+ fs::path dumpPath = dumpDir;
+ fs::path tempFilePath = dumpPath / (timestamp + "_networkgraph.dot");
+ fileName = tempFilePath.string();
ALOGV("Exporting the optimized network graph to file: %s", fileName.c_str());
@@ -622,9 +623,9 @@ void RenameGraphDotFile(const std::string& oldName, const std::string& dumpDir,
{
return;
}
- const std::string newFileName = boost::str(boost::format("%1%/%2%_networkgraph.dot")
- % dumpDir
- % std::to_string(networkId));
+ fs::path dumpPath = dumpDir;
+ const fs::path newFileName = dumpPath / (std::to_string(networkId) + "_networkgraph.dot");
+
int iRet = rename(oldName.c_str(), newFileName.c_str());
if (iRet != 0)
{
diff --git a/Utils.hpp b/Utils.hpp
index 86eb6db4..e3b7d822 100644
--- a/Utils.hpp
+++ b/Utils.hpp
@@ -10,9 +10,6 @@
#include <HalInterfaces.h>
#include <NeuralNetworks.h>
-#include <boost/format.hpp>
-#include <log/log.h>
-
#include <vector>
#include <string>
#include <fstream>
diff --git a/test/Android.mk b/test/Android.mk
index ca940f5b..5e40f0a1 100644
--- a/test/Android.mk
+++ b/test/Android.mk
@@ -10,6 +10,8 @@ LOCAL_PATH := $(call my-dir)
OPENCL_HEADER_PATH := $(LOCAL_PATH)/../../mali/product/khronos/original
NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include
ARMNN_HEADER_PATH := $(LOCAL_PATH)/../armnn/include
+ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
+ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
ARMNN_DRIVER_HEADER_PATH := $(LOCAL_PATH)/..
##########################
@@ -33,6 +35,8 @@ LOCAL_C_INCLUDES := \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH) \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
+ $(ARMNN_UTILS_HEADER_PATH) \
$(ARMNN_DRIVER_HEADER_PATH)
LOCAL_CFLAGS := \
@@ -145,6 +149,8 @@ LOCAL_C_INCLUDES := \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH) \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
+ $(ARMNN_UTILS_HEADER_PATH) \
$(ARMNN_DRIVER_HEADER_PATH)
LOCAL_CFLAGS := \
@@ -253,6 +259,8 @@ LOCAL_C_INCLUDES := \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH) \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
+ $(ARMNN_UTILS_HEADER_PATH) \
$(ARMNN_DRIVER_HEADER_PATH)
LOCAL_CFLAGS := \
@@ -356,6 +364,8 @@ LOCAL_C_INCLUDES := \
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH) \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_THIRD_PARTY_PATH) \
+ $(ARMNN_UTILS_HEADER_PATH) \
$(ARMNN_DRIVER_HEADER_PATH)
LOCAL_CFLAGS := \
diff --git a/test/UtilsTests.cpp b/test/UtilsTests.cpp
index a11c8274..054c0719 100644
--- a/test/UtilsTests.cpp
+++ b/test/UtilsTests.cpp
@@ -11,9 +11,10 @@
#include <fstream>
#include <iomanip>
-#include <boost/format.hpp>
#include <armnn/INetwork.hpp>
+#include <Filesystem.hpp>
+
BOOST_AUTO_TEST_SUITE(UtilsTests)
using namespace android;
@@ -42,9 +43,7 @@ public:
// NOTE: the export now uses a time stamp to name the file so we
// can't predict ahead of time what the file name will be.
std::string timestamp = "dummy";
- m_FileName = boost::str(boost::format("%1%/%2%_networkgraph.dot")
- % m_RequestInputsAndOutputsDumpDir
- % timestamp);
+ m_FileName = m_RequestInputsAndOutputsDumpDir / (timestamp + "_networkgraph.dot");
}
// Teardown: delete the dump file regardless of the outcome of the tests.
@@ -96,8 +95,8 @@ public:
(std::istreambuf_iterator<char>()));
}
- std::string m_RequestInputsAndOutputsDumpDir;
- std::string m_FileName;
+ fs::path m_RequestInputsAndOutputsDumpDir;
+ fs::path m_FileName;
private:
std::ifstream m_FileStream;