[X] Gebruik videogeheugen

Pagina: 1
Acties:

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 29-05-2025
Hoi allemaal,

Ik heb een vraagje omtrent het gebruik van het videogeheugen onder X. Heeft iemand enig idee hoeveel videoram X pakt op 1600x1200@...
Ik ben namelijk bezig met GPGPU en moet precies weten hoeveel videoram er gebruikt wordt zodat ik niet buiten mijn videoram treedt en dus geen mooie vastloper krijg van mijn scherm.

Ik hoop dat iemand mij hiermee kan helpen, wat ik zelf al gedaan heb is gezocht op google maar kon niets vinden. wel hoeveel geheugen je gebruikt als je op 1600x1200 draait. Zover was ik gelukkig zelf ook al maar moet het eigenlijk precies weten want X zal zelf ook nog wel wat pakken..

Bij voorbaat dank.

iRacing Profiel


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Biedt je API geen functies voor dit soort weetjes, je kan er namelijk niet zomaar blindelings van uit gaan dat het door jou gecalculeerde getal altijd juist is.

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 29-05-2025
GX schreef op maandag 03 maart 2008 @ 13:29:
Biedt je API geen functies voor dit soort weetjes, je kan er namelijk niet zomaar blindelings van uit gaan dat het door jou gecalculeerde getal altijd juist is.
Nee helaas niet. GPGPU via CUDA is nogal lastig mede doordat je zelf je memory management moet toepassen als in je mag niet meer dan zoveel gebruiken doe je dit wel krijg je niet netjes een Seg. fault maar meteen een harde vastloper :(

iRacing Profiel


  • deepbass909
  • Registratie: April 2001
  • Laatst online: 29-01 21:29

deepbass909

[☼☼] [:::][:::] [☼☼]

Op zich is het wel uit te rekenen. Als je uitgaat van 24bits kleurendiepte (geen 3D), dan heb je per kleurpixel 24 bit geheugen nodig. Op een resolutie van 1600x1200 kom je dan op ((24 x 3 x 1600x1200)/8=)16,5MB uit. 32 bits kleurdiepte levert een gebruik op van 22MB. Dit zijn minimale hoeveelheden, waarbij het geheugen alleen het gebruikte beeld bevat. Ik weet niet wat voor applicatie je precies wilt gaan draaien, maar met 32MB zou het in princiepe goed moeten gaan.

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


  • Sir Isaac
  • Registratie: September 2002
  • Laatst online: 21-05-2025
Het sommetje hierboven klopt niet helemaal. 24bit (8 per kleur) x 1600x1200 / 8 bits/byte = 5760000 bytes, ongeveer 5.7Mbyte. Maar dan ga je uit van een domme framebuffer, waarin alleen pixelwaardes worden opgeslagen. Zelfs een antieke GPU met een 2D versneller doet meer, bijv het renderen van 2D lijnen, polygonen e.d. Hiervoor is extra geheugen nodig.
Nu heb ik geen verstand van GPGPU, maar ik kan me voorstellen dat een deel van het video geheugen gereserveerd is voor een framebuffer. Dat zou dan de bovengenoemde 5.7Mb zijn, of 11.4 als er dubbele buffering wordt toegepast. De rest is dan beschikbaar voor berekeningen op de GPU. Of de berekeningen voor de schermweergave, of voor bijv het doen van bijv. quantum chemische berekeningen.
Geen idee hoe dit werkt. Je zult haast een soort OS op je videokaart moeten hebben dat het geheugen verdeelt tussen de diverse applicaties. Dat zal de hele truc zijn van gpgpu gok ik :)