!735 修复 hats 仓安全告警问题

Merge pull request !735 from scholar-lc/weekly_20230411
This commit is contained in:
openharmony_ci 2023-06-27 02:29:17 +00:00 committed by Gitee
commit bc2c659f69
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 28 additions and 28 deletions

View File

@ -116,9 +116,8 @@ OH_NN_ReturnCode HDICommon::ConvertModel(OHOS::sptr<V1_0::INnrtDevice> device_,
size_t tensorSize = mindspore::lite::MindIR_LiteGraph_GetConstTensorSize(m_liteGraph.get());
std::cout << "[ConvertModel] const tensorsize:" << tensorSize << std::endl;
int32_t hdiRet{0};
if (tensorSize > 0) {
hdiRet = device_->AllocateBuffer(tensorSize, tensorBuffer);
int32_t hdiRet = device_->AllocateBuffer(tensorSize, tensorBuffer);
if (hdiRet != HDF_SUCCESS || tensorBuffer.fd == NNRT_INVALID_FD) {
printf("[NNRtTest] [ConvertModel] allocate tensor buffer failed after get const tensor size,"\
"ret:%d\n", hdiRet);
@ -133,7 +132,11 @@ OH_NN_ReturnCode HDICommon::ConvertModel(OHOS::sptr<V1_0::INnrtDevice> device_,
}
// release model
OH_NNModel_Destroy(&model);
model = nullptr;
if(model != nullptr) {
printf("[NNRtTest] OH_NNModel_Destroy failed.\n");
return OH_NN_FAILED;
}
printf("[NNRtTest] [ConvertModel] convert model done\n");
return OH_NN_SUCCESS;
}
@ -249,7 +252,7 @@ void HDICommon::ReleaseBufferOfTensors(OHOS::sptr<V1_0::INnrtDevice> &device, st
}
}
void HDICommon::UnmapAllMemory(std::vector<void* > &buffers)
void HDICommon::UnmapAllMemory(const std::vector<void* > &buffers)
{
auto memoryMenager = MemoryManager::GetInstance();
for (auto buffer : buffers) {

View File

@ -50,7 +50,7 @@ public:
static V1_0::IOTensor CreateOutputIOTensor(OHOS::sptr<V1_0::INnrtDevice> &device, size_t length);
static void* MapMemory(int fd, size_t length);
static void UnmapMemory(float* buffer);
static void UnmapAllMemory(std::vector<void* > &buffers);
static void UnmapAllMemory(const std::vector<void* > &buffers);
static void SetData(float* buffer, size_t length, float* data);
static void ReleaseBufferOfTensors(OHOS::sptr<V1_0::INnrtDevice> &device, std::vector<V1_0::IOTensor> &tensors);
};

View File

@ -68,7 +68,7 @@ void AddModelTest(OHOS::sptr<V1_0::INnrtDevice> &device_, V1_0::ModelConfig &mod
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// set outputs
@ -81,7 +81,7 @@ void AddModelTest(OHOS::sptr<V1_0::INnrtDevice> &device_, V1_0::ModelConfig &mod
auto memAddress = HDICommon::MapMemory(outputs[0].data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
auto buffer = (float *)memAddress;
auto buffer = static_cast<float*>(memAddress);
std::vector<float> expectValue(ADDEND_DATA_SIZE, ADD_VALUE_RESULT);
std::vector<float> outputValue(buffer, buffer + ADDEND_DATA_SIZE);
PrintTensor(buffer, ADDEND_DATA_SIZE);
@ -172,7 +172,6 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_Run_0500, Function |
std::vector<V1_0::IOTensor> outputs;
std::vector<std::vector<int32_t>> outputsDims;
std::vector<bool> isOutputBufferEnough;
vector<void* > mapedMemorys;
// only set outputs
auto outputTensor = HDICommon::CreateIOTensor(device_);
@ -223,7 +222,7 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_Run_0600, Function |
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// model run
@ -392,7 +391,7 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_CombRun_1000, Functio
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// set outputs
@ -405,7 +404,7 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_CombRun_1000, Functio
auto memAddress = HDICommon::MapMemory(outputs[0].data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
auto buffer = (float *)memAddress;
auto buffer = static_cast<float*>(memAddress);
std::vector<float> expectValue(ADDEND_DATA_SIZE, ADD_VALUE_RESULT);
std::vector<float> outputValue(buffer, buffer + ADDEND_DATA_SIZE);
// check output

View File

@ -71,7 +71,7 @@ void RunModelTest(OHOS::sptr<V1_0::INnrtDevice> device, OHOS::sptr<V1_0::IPrepar
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// set outputs
@ -84,7 +84,7 @@ void RunModelTest(OHOS::sptr<V1_0::INnrtDevice> device, OHOS::sptr<V1_0::IPrepar
auto memAddress = HDICommon::MapMemory(outputs[0].data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
auto buffer = (float *)memAddress;
auto buffer = static_cast<float*>(memAddress);
std::vector<float> expectValue(ADDEND_DATA_SIZE, ADD_VALUE_RESULT);
std::vector<float> outputValue(buffer, buffer + ADDEND_DATA_SIZE);
// check output
@ -111,7 +111,6 @@ HWTEST_F(StabilityTest, SUB_AI_NNRt_Reliability_South_Stress_0100, Reliability |
{
OHOS::sptr<V1_0::INnrtDevice> device = V1_0::INnrtDevice::Get();
std::vector<V1_0::Model *> iModels;
std::vector<OHOS::sptr<V1_0::IPreparedModel>> iPreparedModels;
std::vector<V1_0::SharedBuffer> tensorBuffers;
for (int i = 0; i < THREAD_NUM; i++) {
// build graph with NNModel

View File

@ -116,9 +116,8 @@ OH_NN_ReturnCode HDICommon::ConvertModel(OHOS::sptr<V2_0::INnrtDevice> device_,
size_t tensorSize = mindspore::lite::MindIR_LiteGraph_GetConstTensorSize(m_liteGraph.get());
std::cout << "[ConvertModel] const tensorsize:" << tensorSize << std::endl;
int32_t hdiRet{0};
if (tensorSize > 0) {
hdiRet = device_->AllocateBuffer(tensorSize, tensorBuffer);
int32_t hdiRet = device_->AllocateBuffer(tensorSize, tensorBuffer);
if (hdiRet != HDF_SUCCESS || tensorBuffer.fd == NNRT_INVALID_FD) {
printf("[NNRtTest] [ConvertModel] allocate tensor buffer failed after get const tensor size,"\
"ret:%d\n", hdiRet);
@ -133,7 +132,11 @@ OH_NN_ReturnCode HDICommon::ConvertModel(OHOS::sptr<V2_0::INnrtDevice> device_,
}
// release model
OH_NNModel_Destroy(&model);
model = nullptr;
if(model != nullptr) {
printf("[NNRtTest] OH_NNModel_Destroy failed.\n");
return OH_NN_FAILED;
}
printf("[NNRtTest] [ConvertModel] convert model done\n");
return OH_NN_SUCCESS;
}
@ -249,7 +252,7 @@ void HDICommon::ReleaseBufferOfTensors(OHOS::sptr<V2_0::INnrtDevice> &device, st
}
}
void HDICommon::UnmapAllMemory(std::vector<void* > &buffers)
void HDICommon::UnmapAllMemory(const std::vector<void* > &buffers)
{
auto memoryMenager = MemoryManager::GetInstance();
for (auto buffer : buffers) {

View File

@ -50,7 +50,7 @@ public:
static V2_0::IOTensor CreateOutputIOTensor(OHOS::sptr<V2_0::INnrtDevice> &device, size_t length);
static void* MapMemory(int fd, size_t length);
static void UnmapMemory(float* buffer);
static void UnmapAllMemory(std::vector<void* > &buffers);
static void UnmapAllMemory(const std::vector<void* > &buffers);
static void SetData(float* buffer, size_t length, float* data);
static void ReleaseBufferOfTensors(OHOS::sptr<V2_0::INnrtDevice> &device, std::vector<V2_0::IOTensor> &tensors);
};

View File

@ -56,7 +56,6 @@ void AddModelTest(OHOS::sptr<V2_0::INnrtDevice> &device_, V2_0::ModelConfig &mod
std::vector<V2_0::IOTensor> inputs;
std::vector<V2_0::IOTensor> outputs;
std::vector<std::vector<int32_t>> outputsDims;
std::vector<bool> isOutputBufferEnough;
std::vector<void* > mapedMemorys;
// set inputs
@ -68,7 +67,7 @@ void AddModelTest(OHOS::sptr<V2_0::INnrtDevice> &device_, V2_0::ModelConfig &mod
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// set outputs
@ -81,7 +80,7 @@ void AddModelTest(OHOS::sptr<V2_0::INnrtDevice> &device_, V2_0::ModelConfig &mod
auto memAddress = HDICommon::MapMemory(outputs[0].data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
auto buffer = (float *)memAddress;
auto buffer = static_cast<float*>(memAddress);
std::vector<float> expectValue(ADDEND_DATA_SIZE, ADD_VALUE_RESULT);
std::vector<float> outputValue(buffer, buffer + ADDEND_DATA_SIZE);
PrintTensor(buffer, ADDEND_DATA_SIZE);
@ -171,7 +170,6 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_Run_0500, Function |
std::vector<V2_0::IOTensor> inputs;
std::vector<V2_0::IOTensor> outputs;
std::vector<std::vector<int32_t>> outputsDims;
std::vector<bool> isOutputBufferEnough;
vector<void* > mapedMemorys;
// only set outputs
@ -211,7 +209,6 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_Run_0600, Function |
std::vector<V2_0::IOTensor> inputs;
std::vector<V2_0::IOTensor> outputs;
std::vector<std::vector<int32_t>> outputsDims;
std::vector<bool> isOutputBufferEnough;
vector<void* > mapedMemorys;
// only set inputs
@ -223,7 +220,7 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_Run_0600, Function |
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// model run
@ -384,7 +381,6 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_CombRun_1000, Functio
std::vector<V2_0::IOTensor> inputs;
std::vector<V2_0::IOTensor> outputs;
std::vector<std::vector<int32_t>> outputsDims;
std::vector<bool> isOutputBufferEnough;
vector<void* > mapedMemorys;
// set inputs
@ -395,7 +391,7 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_CombRun_1000, Functio
auto memAddress = HDICommon::MapMemory(tensor.data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
// set input data
HDICommon::SetData((float*)memAddress, ADDEND_BUFFER_LENGTH, (float*)data.data());
HDICommon::SetData(static_cast<float*>(memAddress), ADDEND_BUFFER_LENGTH, (float*)data.data());
inputs.emplace_back(tensor);
}
// set outputs
@ -408,7 +404,7 @@ HWTEST_F(ModelRunTest, SUB_AI_NNRt_Func_South_Model_Invoke_CombRun_1000, Functio
auto memAddress = HDICommon::MapMemory(outputs[0].data.fd, ADDEND_BUFFER_LENGTH);
mapedMemorys.emplace_back(memAddress);
auto buffer = (float *)memAddress;
auto buffer = static_cast<float*>(memAddress);
std::vector<float> expectValue(ADDEND_DATA_SIZE, ADD_VALUE_RESULT);
std::vector<float> outputValue(buffer, buffer + ADDEND_DATA_SIZE);
// check output