diff --git a/src/codegen/codegen_neuron_cpp_visitor.cpp b/src/codegen/codegen_neuron_cpp_visitor.cpp index 1d546f623..db59bd036 100644 --- a/src/codegen/codegen_neuron_cpp_visitor.cpp +++ b/src/codegen/codegen_neuron_cpp_visitor.cpp @@ -1817,6 +1817,7 @@ void CodegenNeuronCppVisitor::print_nrn_init(bool skip_init_check) { print_global_function_common_code(BlockType::Initial); + print_parallel_iteration_hint(BlockType::Initial, info.initial_node); printer->push_block("for (int id = 0; id < nodecount; id++)"); printer->add_line("auto* _ppvar = _ml_arg->pdata[id];"); @@ -1860,6 +1861,8 @@ void CodegenNeuronCppVisitor::print_nrn_jacob() { print_entrypoint_setup_code_from_memb_list(); printer->fmt_line("auto nodecount = _ml_arg->nodecount;"); + + print_parallel_iteration_hint(BlockType::Equation, nullptr); printer->push_block("for (int id = 0; id < nodecount; id++)"); // begin for if (breakpoint_exist()) { @@ -2066,6 +2069,7 @@ void CodegenNeuronCppVisitor::print_nrn_state() { printer->add_newline(2); print_global_function_common_code(BlockType::State); + print_parallel_iteration_hint(BlockType::State, info.nrn_state_block); printer->push_block("for (int id = 0; id < nodecount; id++)"); printer->add_line("int node_id = node_data.nodeindices[id];"); printer->add_line("auto* _ppvar = _ml_arg->pdata[id];"); @@ -2276,7 +2280,7 @@ void CodegenNeuronCppVisitor::print_nrn_cur() { printer->add_newline(2); printer->add_line("/** update current */"); print_global_function_common_code(BlockType::Equation); - // print_channel_iteration_block_parallel_hint(BlockType::Equation, info.breakpoint_node); + print_parallel_iteration_hint(BlockType::Equation, info.breakpoint_node); printer->push_block("for (int id = 0; id < nodecount; id++)"); print_nrn_cur_kernel(*info.breakpoint_node); // print_nrn_cur_matrix_shadow_update();