Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The title says it all, is there a way to force a single cpu core designed program (older programs) to use multiple cpu cores?

share|improve this question
12  
No, not possible. –  Moab Jun 7 '11 at 0:07
4  
If only it was that easy.. –  Brendan Long Jun 7 '11 at 4:44
add comment

2 Answers 2

up vote 13 down vote accepted

Unfortunately, a legacy program written for a single CPU cannot be forced to use multiple CPU cores. The usage of multiple CPU cores requires multiple threads, which need to communicate with each other while ensuring that race conditions and other problems do not occur. An older application cannot be made to use more than CPU core unless it is rewritten to do so, and only if the nature of the application allows it to be parallelized.

share|improve this answer
16  
It's also worth noting that some applications simply can't be rewritten to take into account multiple cores. It mostly depends on how parallelizable the process is. A simple example of non-parallelizable process would be human reproduction: One woman can make one child in 9 months. Nine women can make 9 children in 9 months, but you can't use 9 women to manufacture a single child in one month. –  AndrejaKo Jun 7 '11 at 0:25
    
Thanks. I've edited my answer to reflect your comment. –  DragonLord Jun 7 '11 at 0:29
1  
In principle one could write a program to analyze another program and attempt to parallelize it. That said, even very limited "easy" versions of this problem have been generating Ph.D. dissertations for the last couple of generations and progress has been slow. The full problem may very well be AI-complete. –  dmckee Jun 7 '11 at 0:48
    
Great, thank you all, you made me grion with your Women and birth example, especially when you talk about manufacturing :D –  Chris Jun 7 '11 at 18:51
add comment

What is your goal with it? Increased performance? Sadly applications that are designed to make use of only 1 core will not make use of more. Thats what this talk of "multi-threaded" applications are all about.

share|improve this answer
add comment

Your Answer

 
discard

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.