필터 지우기
필터 지우기

How To Perform Synchronized Parallel Computing Using Parfeval?

조회 수: 5 (최근 30일)
Kaushik Gowda
Kaushik Gowda 2021년 9월 23일
댓글: Kaushik Gowda 2021년 9월 27일
Hi ,
I am running 2 functions running with an infinite loop within using the parfeval function provided in the parallel computing toolbox. Is synchronization between these 2 functions possible? If yes, then is there any way to establish a semaphore mechanism or an external control dependency during the runtime of these functions ? I have been trying to get the output using fetchOutputs to return the signal the control which causes a blocking call and disrupts the execution of my code.
Is there any other way to achieve this goal using the parallel computing toolbox?
Thanks and regards,
Kaushik Gowda H N
  댓글 수: 5
Mohammad Sami
Mohammad Sami 2021년 9월 24일
편집: Walter Roberson 2021년 9월 25일
You cannot declare a global variable in main thread and expect its value to propagate between main thread and workers.
You can look at my answer below to see how you might setup a two way data exchange between main thread and a single worker. You may repeat that with another worker.
However I don't see how your code improves the efficiency, one of the worker will always be idle in your current design, since it depend on the other thread to calculate some value and change the state. In your design only one worker is active at one time.
You may want to see how the workers can work on independent calculations so that you can use both workers simultaneously.
Kaushik Gowda
Kaushik Gowda 2021년 9월 27일
Thank you for the reply. Helped me with my problem.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Parallel Computing Fundamentals에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by