Why do programmers write parallel programs instead of giving them the ability to automatically convert from serial to parallel?

  • 6
    $\begingroup$ How do you give a program the ability to automatically convert from serial to parallel? $\endgroup$ Jul 15, 2020 at 12:56
  • 1
    $\begingroup$ @YuvalFilmus cough purely functional programming cough $\endgroup$
    – orlp
    Jul 15, 2020 at 23:05

1 Answer 1


Because the technology to extract paralellism automatically from sequential programs is still woeful... yes, some compilers/languages do take a stab at the problem, but for really demanding applications it still pays off to do the job manually.

  • $\begingroup$ It's also worth pointing out that programmers can write seemingly sequential code in ways that makes it easier to expose the parallelism, such as OpenMP, or SIMD languages like CUDA. Even in purely functional languages (h/t orlp) you typically need to write programs in such a way that the parallelism is exposed (e.g. wiki.haskell.org/GHC/Data_Parallel_Haskell). And, of course, modern CPUs do give you a certain amount of parallelism at the instruction level. $\endgroup$
    – Pseudonym
    Aug 21, 2020 at 4:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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