patternCritical
Is there anything that MUST be done on a multi-core CPU?
Viewed 0 times
multimustcoreanythingthatdonecputhere
Problem
When considering how multi-thread-friendly our program must be, my team puzzled about whether there's anything that absolutely cannot be done on a single-core CPU. I posited that graphics processing requires massively parallel processing, but they argue that things like DOOM were done on single-core CPUs without GPUs.
Is there anything that must be done on a multi-core processor?
Assume there is infinite time for both development and running.
Is there anything that must be done on a multi-core processor?
Assume there is infinite time for both development and running.
Solution
The question is: under what constraints?
There are certainly problems where, if we ask the question "can we solve this problem on hardware X in the given amount of time", the answer will be no.
But this is not a "future-proof" answer: things which in the past could not be done fast enough in a single core probably can be now, and we can't predict what future hardware will be capable of.
In terms of computability, we know that a single-tape Turing Machine is capable of computing all the same functions as a single or multi-core computer, so, runtime aside, there are no problems that a multi-core computer can solve that a single-core can't.
In terms of something like graphics, literally everything that is on the GPU could be done on the CPU... if you are willing to wait long enough.
There are certainly problems where, if we ask the question "can we solve this problem on hardware X in the given amount of time", the answer will be no.
But this is not a "future-proof" answer: things which in the past could not be done fast enough in a single core probably can be now, and we can't predict what future hardware will be capable of.
In terms of computability, we know that a single-tape Turing Machine is capable of computing all the same functions as a single or multi-core computer, so, runtime aside, there are no problems that a multi-core computer can solve that a single-core can't.
In terms of something like graphics, literally everything that is on the GPU could be done on the CPU... if you are willing to wait long enough.
Context
StackExchange Computer Science Q#54013, answer score: 58
Revisions (0)
No revisions yet.