@@ -501,14 +501,17 @@ void loop_inst::preprocess_input_memory(const int64_t num_iterations) {
501
501
// Because internal input memory's data will be updated through backedge process.
502
502
if (iter != _back_edges.end ()) {
503
503
internal_input_memory = body_network->get_engine ().allocate_memory (memory->get_layout (), false );
504
- internal_input_memory->copy_from (body_network->get_stream (), *memory);
505
- GPU_DEBUG_LOG << " Input memory of internal node(" << internal_id.to_string () << " ) is set to new memory("
506
- << internal_input_memory << " , " << internal_input_memory->get_layout ().to_short_string ()
507
- << " ) instead of external node(" << external_id.to_string ()
508
- <<" )'s memory(" << memory << " ," << memory->get_layout ().to_short_string () << " )" << std::endl;
504
+ if (internal_input_memory) {
505
+ internal_input_memory->copy_from (body_network->get_stream (), *memory);
506
+ GPU_DEBUG_LOG << " Input memory of internal node(" << internal_id.to_string () << " ) is set to new memory("
507
+ << internal_input_memory << " , " << internal_input_memory->get_layout ().to_short_string ()
508
+ << " ) instead of external node(" << external_id.to_string ()
509
+ <<" )'s memory(" << memory << " ," << memory->get_layout ().to_short_string () << " )" << std::endl;
510
+ }
509
511
}
510
512
511
- body_network->set_input_data (internal_id.pid , internal_input_memory);
513
+ if (internal_input_memory)
514
+ body_network->set_input_data (internal_id.pid , internal_input_memory);
512
515
} else {
513
516
OPENVINO_ASSERT (memory != nullptr , " In preprocessing concat input mapping, concat memory should be allocated" );
514
517
auto memory_mapping_info = create_concat_memory_map (*input_map, memory, num_iterations);
0 commit comments