Gå til innhold

Anbefalte innlegg

Hei!

 

jeg leste en artikkel på itavisen hvor de påpeker at GTX korte har en kapasitet 518 gigaflops.

Det er ikke dette korte som brukes, men det sammenlignes med dette.

 

Spørsmålet mitt blir jo da, kan man ikke oppnå samme kapasitet fra et GTX kort ved å programmere direkte mot nvidia driverne?

Lenke til kommentar
Videoannonse
Annonse

Som GeirGrusom nevner så er det en teoretisk begrensning og GPUer er designet for parallel prosessering som f. eks. regne ut fargene på 800*600 fragmenter.

 

Nvidia har laget et API som gjør at man kan kjøre C kode på GPUen, men det er fortsatt på beta stadiet. Ved bruk av CUDA kommer man vistnok nærmere GPUen en ved bruk av andre APIer som f. eks OpenGL eller Direct graphics (aka. D3D)

 

CUDA SDK version 0.8.1 beta

 

Hvis du prøver det ut hadde det vært artig å hørt hvordan det fungerte.

Lenke til kommentar

Men gjennom tidene har jeg hørt mye tull om skjermkort, hovedkort, RAM og prosessor.

 

Man får ikke noe bedre utnyttelse av kort ved å programmere driverne direkte, netopp fordi det er dette Direct3D og OpenGL allerede gjør.

 

All som blir presentert på skjermen blir gjort på hardware, eneste programmereren skal gjøre, er å flytte pixel, vertex og shader data til skjermkortets RAM, etter at det er gjort er det helt og holdent opp til skjermkortet å presentere.

Men når det er sagt så finnes det en rekke flaskehalser på veien fra programmet ditt til hardware, det kan rett og slett være dårlig håndtering av data fra programmererens side, eller hardware begrensninger (som regel prosessoren) eller RAM.

Men sett at du bruker GL_NV_vertex_array_range eller GL_ARB_array_objects, så vil både teksturdata og vertex/index data ligge på skjermkortet, og all behandling vil bli gjort av hardware, og da kan jeg ikke se noen begrensninger med et benchmark program, og etter det jeg tror, ville kortet yte maksimalt.

Men jeg har egentlig aldri testet dette, og snakker kun på grunnlag av "jeg tror"

Lenke til kommentar

På et kort som yter maksimalt må hvert enkelt modul belastes så mye at neste ledd ikke må vente. Dette er ekstremt vanskelig å få til selv om det utvilsomt har blitt lettere med Unified Shader Architecture som finnes på GTX kortet vi snakker om. Jeg vil tro! at man ved bruk at CUDA vil man kunne utnytte GPUen bedre siden man vil få mye større kontroll over GPUen, men dette er bare en påstand.

Sannheten er at CUDA programmer og APIer som OpenGL fungerer bruker mange av de samme prinsippene og er fryktelig like hverandre.

Endret av Giddion
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...