Описание тега paralleltry
ParallelTry[f,{arg1,arg2,…}]`вычисляет параллельно, возвращая первый полученный результат.
Детали и опции:
- ParallelTry автоматически распределяет вычисления между различными доступными ядрами и процессорами.
- Любые оценки, продолжающиеся после получения k результатов, отменяются.
- Если результат оценки одного из
[f,{arg1,arg2,…}]
$ Failed, то игнорируется. - Если не получено никаких результатов, кроме $ Failed,
ParallelTry
возвращает $ Failed. - ParallelTry
[f,{arg1,arg2,…}]
выделяет оценки[f,{arg1,arg2,…}]
на разные ядра и процессоры, начиная с{arg1}
, - Если ядер больше, то некоторые из них не будут испробованы, если более ранние не вернут $ Failed.
- ParallelTry принимает тот же параметр DistributedContexts, что и ParallelTable.
Основные примеры:
- Найдите факторизацию числа, которую легко факторизовать:
В 1: =ParallelTry[FactorInteger, Range[10^20 + 1, 10^20 + $KernelCount]]
Out 1 = - Недетерминистически найти простое число в заданном диапазоне:
В 1: =ParallelTry[If[PrimeQ[#], #, $Failed] &, Range[10^100, 10^100 + 1000]]
Out 1=
Полная документация: http://reference.wolfram.com/language/ref/ParallelTry.html