parfor loop exit: deterministic concurrent?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Holger I. Meinhardt
el 5 de Feb. de 2017
Comentada: Holger I. Meinhardt
el 6 de Feb. de 2017
I have a set of independent problems, which I can transfer to a parfor loop. The return value of each of these iterations is false or true. To shorten the computation, I want to exit the parfor loop at the first time the return value "true" has materialized (deterministic concurrent). How can I accomplish this task?
0 comentarios
Respuesta aceptada
Walter Roberson
el 5 de Feb. de 2017
The documentation indicates
"If you change parfor to for, the use of s outside the reduction assignment relies on the iterations being performed in a particular order. In a parfor-loop, it matters that the loop "does not care" about the value of a reduction variable as it goes along. It is only after the loop that the reduction value becomes usable."
so there is nothing you can check in the loop to determine whether you should continue. Though I guess you could write to a file and check the file.
Cleaner would be to parfeval() and as the results come back, when you finally get a true, cancel the remaining futures.
Más respuestas (0)
Ver también
Categorías
Más información sobre Parallel for-Loops (parfor) en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!