Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

Commit 958ff56

Browse files
committed
Add SIMD/ivdep pragmas.
1 parent 8bd85f7 commit 958ff56

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/codegen/codegen_neuron_cpp_visitor.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2041,6 +2041,7 @@ void CodegenNeuronCppVisitor::print_nrn_init(bool skip_init_check) {
20412041

20422042
print_global_function_common_code(BlockType::Initial);
20432043

2044+
print_parallel_iteration_hint(BlockType::Initial, info.initial_node);
20442045
printer->push_block("for (int id = 0; id < nodecount; id++)");
20452046

20462047
printer->add_line("auto* _ppvar = _ml_arg->pdata[id];");
@@ -2084,6 +2085,8 @@ void CodegenNeuronCppVisitor::print_nrn_jacob() {
20842085

20852086
print_entrypoint_setup_code_from_memb_list();
20862087
printer->fmt_line("auto nodecount = _ml_arg->nodecount;");
2088+
2089+
print_parallel_iteration_hint(BlockType::Equation, nullptr);
20872090
printer->push_block("for (int id = 0; id < nodecount; id++)"); // begin for
20882091

20892092
if (breakpoint_exist()) {
@@ -2291,6 +2294,7 @@ void CodegenNeuronCppVisitor::print_nrn_state() {
22912294
printer->add_newline(2);
22922295
print_global_function_common_code(BlockType::State);
22932296

2297+
print_parallel_iteration_hint(BlockType::State, info.nrn_state_block);
22942298
printer->push_block("for (int id = 0; id < nodecount; id++)");
22952299
printer->add_line("int node_id = node_data.nodeindices[id];");
22962300
printer->add_line("auto* _ppvar = _ml_arg->pdata[id];");
@@ -2504,7 +2508,7 @@ void CodegenNeuronCppVisitor::print_nrn_cur() {
25042508
printer->add_newline(2);
25052509
printer->add_line("/** update current */");
25062510
print_global_function_common_code(BlockType::Equation);
2507-
// print_channel_iteration_block_parallel_hint(BlockType::Equation, info.breakpoint_node);
2511+
print_parallel_iteration_hint(BlockType::Equation, info.breakpoint_node);
25082512
printer->push_block("for (int id = 0; id < nodecount; id++)");
25092513
print_nrn_cur_kernel(*info.breakpoint_node);
25102514
// print_nrn_cur_matrix_shadow_update();

0 commit comments

Comments
 (0)