|
|
|
@ -471,27 +471,23 @@ void NgraphEngine::Run(const Scope& scope, const platform::Place& place) const {
|
|
|
|
|
auto* tensor_pd = GetLoDTensorOrSelectedRowsValueFromVar(*var);
|
|
|
|
|
PADDLE_ENFORCE(sp == Ddim2Shape(tensor_pd->dims()),
|
|
|
|
|
"Ensure ngraph tensor layout align with paddle tensor");
|
|
|
|
|
if (tensor_pd->type().hash_code() ==
|
|
|
|
|
typeid(float).hash_code()) { // NOLINT
|
|
|
|
|
if (tensor_pd->type() == proto::VarType::FP32) {
|
|
|
|
|
const float* arr = tensor_pd->data<float>();
|
|
|
|
|
ti = backend_->create_tensor(ngraph::element::f32, sp,
|
|
|
|
|
const_cast<float*>(arr));
|
|
|
|
|
} else if (tensor_pd->type().hash_code() ==
|
|
|
|
|
typeid(int).hash_code()) { // NOLINT
|
|
|
|
|
} else if (tensor_pd->type() == proto::VarType::INT32) {
|
|
|
|
|
const int* arr = tensor_pd->data<int>();
|
|
|
|
|
ti = backend_->create_tensor(ngraph::element::i32, sp,
|
|
|
|
|
const_cast<int*>(arr));
|
|
|
|
|
} else if (tensor_pd->type().hash_code() == typeid(int64_t).hash_code()) {
|
|
|
|
|
} else if (tensor_pd->type() == proto::VarType::INT64) {
|
|
|
|
|
const int64_t* arr = tensor_pd->data<int64_t>();
|
|
|
|
|
ti = backend_->create_tensor(ngraph::element::i64, sp,
|
|
|
|
|
const_cast<int64_t*>(arr));
|
|
|
|
|
} else if (tensor_pd->type().hash_code() ==
|
|
|
|
|
typeid(double).hash_code()) { // NOLINT
|
|
|
|
|
} else if (tensor_pd->type() == proto::VarType::FP64) {
|
|
|
|
|
const double* arr = tensor_pd->data<double>();
|
|
|
|
|
ti = backend_->create_tensor(ngraph::element::f64, sp,
|
|
|
|
|
const_cast<double*>(arr));
|
|
|
|
|
} else if (tensor_pd->type().hash_code() ==
|
|
|
|
|
typeid(bool).hash_code()) { // NOLINT
|
|
|
|
|
} else if (tensor_pd->type() == proto::VarType::BOOL) {
|
|
|
|
|
const bool* arr = tensor_pd->data<bool>();
|
|
|
|
|
ti = backend_->create_tensor(ngraph::element::boolean, sp,
|
|
|
|
|
const_cast<bool*>(arr));
|
|
|
|
|