diff --git a/src/codegen/codegen_acc_visitor.cpp b/src/codegen/codegen_acc_visitor.cpp index a12843bc0c..942ee0319b 100644 --- a/src/codegen/codegen_acc_visitor.cpp +++ b/src/codegen/codegen_acc_visitor.cpp @@ -51,11 +51,11 @@ void CodegenAccVisitor::print_channel_iteration_block_parallel_hint(BlockType ty } present_clause << ')'; printer->add_line( - "nrn_pragma_acc(parallel loop {} async(nt->stream_id) if(nt->compute_gpu))"_format( + "nrn_pragma_acc(parallel loop {} async(nt->streams[nt->stream_id]) if(nt->compute_gpu))"_format( present_clause.str())); printer->add_line( "nrn_pragma_omp(target teams distribute parallel for is_device_ptr(inst) " - "if(nt->compute_gpu))"); + "if(nt->compute_gpu) depend(inout: nt->streams[nt->stream_id]) nowait)"); } @@ -319,7 +319,7 @@ void CodegenAccVisitor::print_device_atomic_capture_annotation() const { void CodegenAccVisitor::print_device_stream_wait() const { printer->start_block("if(nt->compute_gpu)"); - printer->add_line("nrn_pragma_acc(wait(nt->stream_id))"); + printer->add_line("nrn_pragma_acc(wait async(nt->streams[nt->stream_id]))"); printer->add_line("nrn_pragma_omp(taskwait)"); printer->end_block(1); }