Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This time I have a very short question.

Is there a deeper reason why ParallelMapThread does not exist?

Regards, Frink

share|improve this question
up vote 12 down vote accepted

May be because its easy to implement?

MapThread[f, {{a1, a2, a3}, {b1, b2, b3}}]

(* {f(a1,b1),f(a2,b2),f(a3,b3)} *)

ParallelMap[f @@ # &, {{a1, a2, a3}, {b1, b2, b3}} // Transpose]

(* {f(a1,b1),f(a2,b2),f(a3,b3)} *)

share|improve this answer

Many functional operations including MapThread can be easily parallelized by composing the function with ParallelSubmit, then collecting all concurrent jobs:

WaitAll[MapThread[ParallelSubmit@*f, {{a1, a2, a3}, {b1, b2, b3}}]]
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.