Skip to content

Commit c1c9bb7

Browse files
committed
Remove legacy test utils
1 parent d219e31 commit c1c9bb7

File tree

1 file changed

+32
-38
lines changed

1 file changed

+32
-38
lines changed

modules/nvidia_plugin/tests/unit/cuda_multi_graph_ti_test.cpp

+32-38
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44

55
#include <gtest/gtest.h>
66

7+
#include "common_test_utils/node_builders/eltwise.hpp"
8+
#include "common_test_utils/node_builders/gru_cell.hpp"
79
#include "cuda_graph_topology_runner.hpp"
810
#include "cuda_simple_execution_delegator.hpp"
11+
#include "functional_test_utils/ov_plugin_cache.hpp"
912
#include "ops/parameter.hpp"
1013
#include "ops/result.hpp"
11-
#include "ov_models/builders.hpp"
1214
#include "ov_models/utils/data_utils.hpp"
1315

1416
using namespace ov::nvidia_gpu;
@@ -45,45 +47,35 @@ std::vector<std::vector<CalcType>> calcRefs(std::shared_ptr<ov::Model> model,
4547
const std::vector<std::shared_ptr<ov::Tensor>>& inputs) {
4648
auto refModel = model->clone();
4749

48-
auto referenceInputs = std::vector<std::vector<uint8_t>>(inputs.size());
49-
auto refInputsTypes = std::vector<ov::element::Type>(inputs.size());
50-
for (std::size_t i = 0; i < inputs.size(); ++i) {
51-
const auto& input = inputs[i];
52-
const auto inputSize = input->get_byte_size();
50+
std::shared_ptr<ov::Core> core = ov::test::utils::PluginCache::get().core();
5351

54-
auto& referenceInput = referenceInputs[i];
55-
referenceInput.resize(inputSize);
56-
57-
const auto* buffer = static_cast<const uint8_t*>(input->data());
58-
std::copy(buffer, buffer + inputSize, referenceInput.data());
59-
60-
refInputsTypes[i] = CALC_ELEMENT_TYPE;
52+
auto compiled_model_ref = core->compile_model(
53+
refModel, ov::test::utils::DEVICE_TEMPLATE, {{ov::template_plugin::disable_transformations(true)}});
54+
auto infer_request_ref = compiled_model_ref.create_infer_request();
55+
auto params = refModel->get_parameters();
56+
OPENVINO_ASSERT(params.size() == inputs.size());
57+
for (int input_num = 0; input_num < params.size(); input_num++) {
58+
infer_request_ref.set_tensor(params[i]->get_default_output(), inputs[i]);
6159
}
60+
infer_request_ref.infer();
6261

63-
const auto expectedOutputs = ngraph::helpers::interpreterFunction(refModel, referenceInputs, refInputsTypes);
64-
65-
std::vector<std::vector<CalcType>> res(expectedOutputs.size());
66-
for (std::size_t i = 0; i < expectedOutputs.size(); ++i) {
67-
EXPECT_EQ(expectedOutputs[i].first, CALC_ELEMENT_TYPE);
68-
const auto& expOut = expectedOutputs[i].second;
69-
auto& resOut = res[i];
70-
const auto resOutSize = expOut.size() / sizeof(CalcType);
71-
resOut.resize(resOutSize);
72-
73-
const auto* buffer = static_cast<const CalcType*>(static_cast<const void*>(expOut.data()));
74-
std::copy(buffer, buffer + resOutSize, resOut.data());
62+
ov::TensorVector outputs;
63+
for (const auto& output : refModel->outputs()) {
64+
outputs.push_back(infer_request_ref.get_tensor(output));
7565
}
76-
return res;
66+
67+
return outputs;
7768
}
7869

79-
void validateOutput(const ov::Tensor& tensor, const std::vector<CalcType>& refVector, float threshold) {
70+
void validateOutput(const ov::Tensor& tensor, const ov::Tensor& ref_tensor, float threshold) {
8071
EXPECT_EQ(tensor.get_element_type(), CALC_ELEMENT_TYPE);
72+
EXPECT_EQ(ref_tensorv.get_element_type(), CALC_ELEMENT_TYPE);
8173
const auto size = tensor.get_size();
82-
EXPECT_EQ(size, refVector.size());
74+
EXPECT_EQ(size, ref_tensor.size());
8375
const auto* ptr = getConstPtr(tensor);
84-
bool areEqual = std::equal(ptr, ptr + size, refVector.cbegin(), [threshold](auto val1, auto val2) {
85-
return std::abs(val1 - val2) < threshold;
86-
});
76+
const auto* ref_ptr = getConstPtr(ref_tensor);
77+
bool areEqual = std::equal(
78+
ptr, ptr + size, ptr, [threshold](auto val1, auto val2) { return std::abs(val1 - val2) < threshold; });
8779
EXPECT_TRUE(areEqual);
8880
}
8981

@@ -121,7 +113,7 @@ class GRUTI {
121113
auto squeeze = std::make_shared<ov::op::v0::Squeeze>(bodyParams[0], axis);
122114
ov::OutputVector out_vector = {squeeze, bodyParams[1]};
123115
auto gru_cell =
124-
ngraph::builder::makeGRU(out_vector, WRB, hidden_size, {"sigmoid", "tanh"}, {}, {}, clip, false);
116+
ov::test::utils::make_gru(out_vector, WRB, hidden_size, {"sigmoid", "tanh"}, {}, {}, clip, false);
125117
auto unsqueeze = std::make_shared<ov::op::v0::Unsqueeze>(gru_cell->output(0), axis);
126118
ov::ResultVector results{std::make_shared<ov::op::v0::Result>(gru_cell->output(0)),
127119
std::make_shared<ov::op::v0::Result>(unsqueeze)};
@@ -202,10 +194,12 @@ class SplitConcatAddTI {
202194
}
203195

204196
auto squeeze = std::make_shared<ov::op::v0::Squeeze>(bodyParams[0], axisConstant);
205-
const auto split = ngraph::builder::makeSplit(squeeze, CALC_ELEMENT_TYPE, 2, 1);
197+
const auto split_axis_op =
198+
std::make_shared<ov::op::v0::Constant>(ov::element::Type_t::i64, ov::Shape{}, std::vector<int64_t>{1});
199+
const auto split = std::make_shared<ov::op::v1::Split>(squeeze, splitAxisOp, 2);
206200
const auto concat =
207201
std::make_shared<ov::op::v0::Concat>(ov::OutputVector{split->output(0), split->output(1)}, 1);
208-
const auto add0 = ngraph::builder::makeEltwise(concat->output(0), bodyParams[1], EltwiseTypes::ADD);
202+
const auto add0 = ov::test::utils::make_eltwise(concat->output(0), bodyParams[1], EltwiseTypes::ADD);
209203

210204
auto unsqueeze = std::make_shared<ov::op::v0::Unsqueeze>(add0->output(0), axisConstant);
211205
ov::ResultVector results{std::make_shared<ov::op::v0::Result>(add0->output(0)),
@@ -299,13 +293,13 @@ class CudaMultiGraphTest : public Test {
299293

300294
void run() { runner_.Run(*inferRequestContext_, deviceMemBlock_); }
301295

302-
void calcRefs() { refOutputs_ = ::calcRefs(model_, inputTensors_); }
296+
void calcRefs() { refOutputTensors_ = ::calcRefs(model_, inputTensors_); }
303297

304298
void validate(float threshold = THRESHOLD) {
305299
const auto size = outputTensors_.size();
306-
EXPECT_EQ(size, refOutputs_.size());
300+
EXPECT_EQ(size, refOutputTensors_.size());
307301
for (std::size_t i = 0; i < size; ++i) {
308-
validateOutput(*outputTensors_[i], refOutputs_[i], THRESHOLD);
302+
validateOutput(*outputTensors_[i], refOutputTensors_[i], THRESHOLD);
309303
}
310304
}
311305

@@ -349,6 +343,7 @@ class CudaMultiGraphTest : public Test {
349343
SimpleExecutionDelegator simpleExecutionDelegator_{};
350344
std::vector<std::shared_ptr<ov::Tensor>> inputTensors_{populateTensors(model_->inputs())};
351345
std::vector<std::shared_ptr<ov::Tensor>> outputTensors_{populateTensors(model_->outputs())};
346+
ov::TensorVector refOutputTensors_;
352347
std::map<std::string, std::size_t> inputIndices_{populateInputIndices(model_)};
353348
std::map<std::string, std::size_t> outputIndices_{populateOutputIndices(model_)};
354349
std::unique_ptr<InferenceRequestContext> inferRequestContext_ =
@@ -363,7 +358,6 @@ class CudaMultiGraphTest : public Test {
363358
false);
364359
DeviceMemBlock deviceMemBlock_{runner_.GetSubGraph().memoryManager()->mutableTensorsMemoryModel()};
365360

366-
std::vector<std::vector<CalcType>> refOutputs_;
367361
int currentSeed_ = SEED;
368362
};
369363

0 commit comments

Comments
 (0)