[QUOTE=Yoshman;13871650](minst) två problem med ett sådant uttalande
vissa problem kan helt enkelt inte dra nytta av flera CPU-kärnor då de är vad man kallar "inherently sequential". Ett populärt exempel är: oavsett antalet kvinnor så kommer varje enskild graviditeten ta lika lång tid. Motsvarande i desktop-program är att flera CPU-kärnor sällan minskar latensen, i.e. hur mycket gladare blir du om din dator kan lösa 10st problem på X sekunder (t.ex. lösa ett problem per CPU-kärna) när ditt problem är att du tycker X är för stort och du har bara ett problem du är intresserad av?
Det finns många problem som rent teoretiskt går att dela upp, men p.g.a. av att det är väldigt dyrt att kommunicera mellan CPU-kärnor (jämfört med att jobba med data lokalt) så ger det väldigt liten, ingen eller till och med negativ effekt att köra med flera CPU-kärnor.det är mycket svårare att korrekt/effektivt designa program som ska använda många CPU-kärnor, det är brutalt mycket svårare att felsöka program som kör på flera CPU-kärnor jämfört med strikt sekventiella program. Detta betyder att det är mycket dyrare att utveckla sådana program, en kostnad någon måste betala och kunderna tenderar att välja det som upplevs som billigast...
Att använda GPUn även för icke-grafik är däremot något som säkert kan utnyttjas bättre i framtiden. Men en GPU har väldigt mycket gemensamt med specifika instruktioner: det blir extremt snabbt, men det fungerar bara på ett väldigt smalt spektrum av problem. Styrkan i en "vanlig" CPU är just att den är så extremt generell och hanterar problem som spänner över ett väldigt stort område, en CPU är en typisk jack-of-all-trades
OpenCL/DirectCompute lämpar sig bara för problem som är "embarrassingly parallel", i.e. varje del-resultat kan beräknas helt isolerat och problemet går att bryta ner i ett väldigt stort antal isolerade problem. Nu för tiden går det i alla fall att skriva program för en GPU där olika delproblem till viss del tar olika vägar genom koden. Men man måste undvika sådant då tiden det tar att beräkna N delproblem blir lika med den tid det tar att beräkna det dyraste problemet inom ett block av GPU-stream-processorer.[/QUOTE]
vad är egentligen problemet med det uttalandet? Om du nu tycker att det är ett "problem" varför har man fler än en cpu kärna idagsläget? Och varför har vissa program blivit optimerade för fler cpu kärnor?
Jag personligen bryr mig inte så mycket om hur många kärnor eller hur bra program är optimerade för fler kärnor. Skrev det för att man borde kunna göra det med de flesta program oavsett omständigheterna. Det finns ju trots allt program som kan använda sig utav fler kärnor och det visar sig vara mer effektivt än färre.
Så om det är ett problem för dig.. tråkigt.
Missuppfatta du mig eller du kanske tycker jag skriver en massa skit ja då får jag be om ursäkt för min åsikt.