mboost-dp1

SXC - flaivoloka
- Forside
- ⟨
- Forum
- ⟨
- Nyheder
Faktisk siger Moores lov intet om at ydelsen fordobles.
Moores lov siger at antallet af transistorer fordobles ca. hvert andet år.
Det har INTET med software at gøre. At software så kan optimeres og få forbedret ydelse, er en godt nyhed, men har intet med Moores lov at gøre.
[/flueknep off]
Moores lov siger at antallet af transistorer fordobles ca. hvert andet år.
Det har INTET med software at gøre. At software så kan optimeres og få forbedret ydelse, er en godt nyhed, men har intet med Moores lov at gøre.
[/flueknep off]
1# 2# og 4#
1 og 2 har ret kan ikke se hvorfor der skrives at softwaren ændre på transistore..
4 Du er inde på det rigtige.
1 og 2 har ret kan ikke se hvorfor der skrives at softwaren ændre på transistore..
4 Du er inde på det rigtige.
SlettetBruger (10) skrev:dunno, prøv med biler
Hvis man fordobler antallet af hjul... Nej..
Hvis man fordobler antallet af sæder... Nej det ville forringe kraftigt når man skal høre på dobbelt så mange "Du skulle have drejet til venstre.." eller "Du kører for stærkt" eller "Er vi der snart".
Hvis man fordobler antallet af hestekræfter hvert andet år, så forbedres chaufførens køreevner?
Ok. Jeg giver op. Jeg du'r ikke til bil sammenligningerne :p
Gid al software blev hurtigere med tiden. Desværre har ting det med at blive større og mere komplekse, og derfor også tungere at danse med. Nogen gang i så slem grad, at det helt kompenserer for at hardwaren er blevet hurtigere.
Artiklen var på slashdot allerede sidste år. Og på det tidspunkt kommenterede jeg, at forbedringer i algoritmer kun gælder for det specifikke problem algoritmen håndterer.
http://slashdot.org/comments.pl?sid=1924194&ci...
Hvis algoritmen kan gøres så meget hurtigere har den muligvis ikke været særligt god fra start af.
Som det også bemærkes længere nede i tråden, så afhænger det af omstændighederne, hvilken algoritme der er hurtigst.
Det kan være at en algoritme der er hurtig hvis man har meget RAM vil swappe for meget, hvis man har mindre RAM. Og på en computer med begrænset RAM er en anden algoritme bedre.
F.eks. Algoritme 1 tager 1 minut på en maskine med 64MB RAM og 10 sekunder på en maskine med 1GB RAM.
Algoritme 2 udnytter den ekstra RAM og tager kun 1 sekund på maskinen med 1GB RAM. Men hvis algoritme 2 bliver kørt på maskinen med kun 64MB RAM swapper den så meget, at det kommer til at tage 2 måneder.
Måske findes der en algoritme 3, som optimerer efter mængden af RAM og tager 2 minutter på maskinen med 64MB RAM og 2 sekunder på maskinen med 1GB RAM.
Tallene er selvfølgelig nogen jeg bare har fundet på, men de er ikke urealistiske. Hvilken af de tre algoritmer du bør vælge afhænger af om du ved hvilken computer den skal køre på.
Alle tre algoritmer i dette eksempel ville være hurtigere på den nye computer end på den gamle. Men hvor stor forskellen er afhænger af, hvad algoritmen er optimeret efter.
Den mest fair sammenligning af de to computere ville være med den algoritme, der er optimeret efter at fungere nogenlunde godt uafhængigt af computerens størrelse.
Det gør naturligvis også en forskel hvad data algoritmen skal arbejde på. Med nye og større computere vil man jo kunne arbejder på langt større datamængder, og det gør også en forskel på hvilken algoritme der er god.
http://slashdot.org/comments.pl?sid=1924194&ci...
Hvis algoritmen kan gøres så meget hurtigere har den muligvis ikke været særligt god fra start af.
Som det også bemærkes længere nede i tråden, så afhænger det af omstændighederne, hvilken algoritme der er hurtigst.
Det kan være at en algoritme der er hurtig hvis man har meget RAM vil swappe for meget, hvis man har mindre RAM. Og på en computer med begrænset RAM er en anden algoritme bedre.
F.eks. Algoritme 1 tager 1 minut på en maskine med 64MB RAM og 10 sekunder på en maskine med 1GB RAM.
Algoritme 2 udnytter den ekstra RAM og tager kun 1 sekund på maskinen med 1GB RAM. Men hvis algoritme 2 bliver kørt på maskinen med kun 64MB RAM swapper den så meget, at det kommer til at tage 2 måneder.
Måske findes der en algoritme 3, som optimerer efter mængden af RAM og tager 2 minutter på maskinen med 64MB RAM og 2 sekunder på maskinen med 1GB RAM.
Tallene er selvfølgelig nogen jeg bare har fundet på, men de er ikke urealistiske. Hvilken af de tre algoritmer du bør vælge afhænger af om du ved hvilken computer den skal køre på.
Alle tre algoritmer i dette eksempel ville være hurtigere på den nye computer end på den gamle. Men hvor stor forskellen er afhænger af, hvad algoritmen er optimeret efter.
Den mest fair sammenligning af de to computere ville være med den algoritme, der er optimeret efter at fungere nogenlunde godt uafhængigt af computerens størrelse.
Det gør naturligvis også en forskel hvad data algoritmen skal arbejde på. Med nye og større computere vil man jo kunne arbejder på langt større datamængder, og det gør også en forskel på hvilken algoritme der er god.
#20
Du snakker her nok mest af implementering af algoritmer, som ganske rigtigt kan have stor indflydelse på, hvordan en algoritme yder.
Men jeg synes ikke man kan tillægge forbedret hardware og bedre instruktionssæt en reel forbedring af en algoritme.
Hvis du fra at skulle afsøge 43 000 000 states, kan komme ned og undersøge 1000, før du har løst et problem, har du forbedret algortimen 43 000 gange. At de så har fået en algoritme til at performe 43 000 gange bedre, betyder ikke nødvendigvis at algoritmen er blevet forbedret lige så meget. Derfor synes jeg at nyheden er en anelse diffus.
Du snakker her nok mest af implementering af algoritmer, som ganske rigtigt kan have stor indflydelse på, hvordan en algoritme yder.
Men jeg synes ikke man kan tillægge forbedret hardware og bedre instruktionssæt en reel forbedring af en algoritme.
Hvis du fra at skulle afsøge 43 000 000 states, kan komme ned og undersøge 1000, før du har løst et problem, har du forbedret algortimen 43 000 gange. At de så har fået en algoritme til at performe 43 000 gange bedre, betyder ikke nødvendigvis at algoritmen er blevet forbedret lige så meget. Derfor synes jeg at nyheden er en anelse diffus.
Tjah - altså set herfra ser det da ud til at software osse følger Moore's lov; antallet af bit (~= transistorer) som et program der udfører [indsæt funktion her] fylder, ser da også ud til at fordobles med et omtrent fast interval - om det lige er to år har jeg ikke helt styr på - men jeg har en lumsk anelse om, at det er menneskeskabt og ikke en naturlov :)
- og det har *heller* ikke noget med ydelse at gøre...
- og det har *heller* ikke noget med ydelse at gøre...
fudtmele (22) skrev:Tjah - altså set herfra ser det da ud til at software osse følger Moore's lov; antallet af bit (~= transistorer) som et program der udfører [indsæt funktion her] fylder, ser da også ud til at fordobles med et omtrent fast interval - om det lige er to år har jeg ikke helt styr på - men jeg har en lumsk anelse om, at det er menneskeskabt og ikke en naturlov :)
- og det har *heller* ikke noget med ydelse at gøre...
Hvis du nu tænker dig rigtig godt om så kan du sikkert godt finde en logisk forklaring på at den gennemsnitlige softwares hardwarekrav stiger i takt med den gennemsnitlige hardwares egenskaber:)?
Er software blevet bedre hmmm til at diskutere
software er blevet bedre til at kunne være med til hardware kontrolleret ting
som GPU og lign men det er vist meget af det
en blackfin eller mange af de andre sharc processorer er enormt god til matematik
modsætning er en CPU dårlig og skal bruge flere gange igennem procserroren før det er færdig udregnet
hvis du skulle sætte nogle af de beregning vi sender igennem GPUen nu om dage igennem en almindelig processor ville den være sløv
den er bare ikke lige så god til matematiske ting som fra tid til anden bliver brugt i grafik
understøtter softwaren så dette vil selvfølgelig gøre nogle interasante ting
men hvis den ikke gør vil det sløve hele systemmet
Det det så kan gøre er at du ender med at skulle bruge mindre mængde af transistere for at kunne gøre noget som en anden processor ikke er specialiceret i kan
#8
behøver ikke at være en algoritme forbedring
hvis jeg tager samme algoritme og smider i en CPU,en GPU en SHARC eller bare en FPGA vil jeg får meget forskellige hastighedder da de arbejder forskelligt det vil også give forskellig mængde af transistere der er nødvendigt for at kunne løse problemmet
dog FPGA er at du smidder din software mere eller mindre ned i hardwaren hvor den ofte kan arbejde ekstremt hurtigt
software er blevet bedre til at kunne være med til hardware kontrolleret ting
som GPU og lign men det er vist meget af det
en blackfin eller mange af de andre sharc processorer er enormt god til matematik
modsætning er en CPU dårlig og skal bruge flere gange igennem procserroren før det er færdig udregnet
hvis du skulle sætte nogle af de beregning vi sender igennem GPUen nu om dage igennem en almindelig processor ville den være sløv
den er bare ikke lige så god til matematiske ting som fra tid til anden bliver brugt i grafik
understøtter softwaren så dette vil selvfølgelig gøre nogle interasante ting
men hvis den ikke gør vil det sløve hele systemmet
Det det så kan gøre er at du ender med at skulle bruge mindre mængde af transistere for at kunne gøre noget som en anden processor ikke er specialiceret i kan
#8
behøver ikke at være en algoritme forbedring
hvis jeg tager samme algoritme og smider i en CPU,en GPU en SHARC eller bare en FPGA vil jeg får meget forskellige hastighedder da de arbejder forskelligt det vil også give forskellig mængde af transistere der er nødvendigt for at kunne løse problemmet
dog FPGA er at du smidder din software mere eller mindre ned i hardwaren hvor den ofte kan arbejde ekstremt hurtigt
#25 Med den logik er et patched program lige pludselig et helt andet program med det samme formål - Det er stadig det samme produkt selvom der er ændret kode og det giver god mening at tale om ydelsesforbedring her.
#26
Bare ikke i forhold til Moores lov. Man kan godt få en eller anden brilliant idé til pludseligt at forbedre en algoritme endog mange tusinde gange. Men man kan ikke snakke om samme systematiske udvikling inden for algoritmer, som man kan med transistorer.
Desuden er algoritmer mere eller mindre altid kraftigt afgrænset i forhold til det miljø de opererer indenfor, hvorfor de ikke kan anvendes til generelle problemer (mange af de problemer man benytter algoritmer til at løse er NP-Hard eller endog PSPACE, hvorfor der slet ikke findes generelle løsninger, som kan realiseres - endnu.). Derfor giver det ikke rigtigt mening at drage algoritmer ind i en diskussion om Moores lov.
Bare ikke i forhold til Moores lov. Man kan godt få en eller anden brilliant idé til pludseligt at forbedre en algoritme endog mange tusinde gange. Men man kan ikke snakke om samme systematiske udvikling inden for algoritmer, som man kan med transistorer.
Desuden er algoritmer mere eller mindre altid kraftigt afgrænset i forhold til det miljø de opererer indenfor, hvorfor de ikke kan anvendes til generelle problemer (mange af de problemer man benytter algoritmer til at løse er NP-Hard eller endog PSPACE, hvorfor der slet ikke findes generelle løsninger, som kan realiseres - endnu.). Derfor giver det ikke rigtigt mening at drage algoritmer ind i en diskussion om Moores lov.
#25 #26
der er selfølgeligt noget at hente hvis algoritmen ikke er bygget ordentligt
eller den er bygget med matematiske funktioner der ikke ligger direkte som normalt i processoren
men hvis en algoritme er så god som den kan blive
kan det give forskellige resultater i forhold til hvilken rype processor du bruger
Eksempel
nogle af de gamle spil som kørte 3D og brugte primært processor til udregning kørte utroligt dårligt i forhold til spil der har samme kvalitets spil der brugte GPU
selfølgelig er softwaren tilpasset GPU eller CPU "algoritmer og lign"
så software er mere end algoritmer det er også den måde den komminikere med hardwaren og den type hardware den kan benytte
men GPU er bare bedre til den form for udregning som eksemple 3D udregninger
der er selfølgeligt noget at hente hvis algoritmen ikke er bygget ordentligt
eller den er bygget med matematiske funktioner der ikke ligger direkte som normalt i processoren
men hvis en algoritme er så god som den kan blive
kan det give forskellige resultater i forhold til hvilken rype processor du bruger
Eksempel
nogle af de gamle spil som kørte 3D og brugte primært processor til udregning kørte utroligt dårligt i forhold til spil der har samme kvalitets spil der brugte GPU
selfølgelig er softwaren tilpasset GPU eller CPU "algoritmer og lign"
så software er mere end algoritmer det er også den måde den komminikere med hardwaren og den type hardware den kan benytte
men GPU er bare bedre til den form for udregning som eksemple 3D udregninger
ChristofferKjeldgaard (26) skrev:Med den logik er et patched program lige pludselig et helt andet program med det samme formål
Ja, det mener jeg også er fuldstændig korrekt. For mig handler software-forbedring i den forbindelse om at lave en bedre optimerende compiler som gør den samme kode hurtigere at afvikle. Det er den eneste meningsfulde måde at tale om generel ydelsesforbedring (og dermed en vag forbindelse til moores lov) for software.
Det her giver ganske enkelt ikke mening? Matematisk funktioner ligger ikke i processoren. Der er dog visse matematisk operationer som gør. Uanset processoren så bør algoritmens resultat være uafhængig af processoren hvis implementationssproget har en nogenlunde ædruelig semantik.astemix (28) skrev:der er selfølgeligt noget at hente hvis algoritmen ikke er bygget ordentligt
eller den er bygget med matematiske funktioner der ikke ligger direkte som normalt i processoren
men hvis en algoritme er så god som den kan blive
kan det give forskellige resultater i forhold til hvilken rype processor du bruger
Anden del af dit indlæg handler jo netop om forbedringer i hardware...(?)
mathiass (29) skrev:Ja, det mener jeg også er fuldstændig korrekt. For mig handler software-forbedring i den forbindelse om at lave en bedre optimerende compiler som gør den samme kode hurtigere at afvikle. Det er den eneste meningsfulde måde at tale om generel ydelsesforbedring (og dermed en vag forbindelse til moores lov) for software.
Hvad man kan synes er interessant i denne sammenhæng er at Proebstings law siger at bidraget fra optimerende compilere giver ca. en faktor 2 hvert 18 år.
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.