Seite 1 von 10 12345 ...
  1. #1
    Avatar von HisN
    Mitglied seit
    19.03.2015
    Liest
    PCGH.de
    Ort
    Randberlin
    Beiträge
    16.288

    VRAM-Allocator CUDA Version

    Die Diskussion wie viel VRAM man nun wirklich auf einer Grafikkarte braucht ist so alt wie das Forum, wenn nicht sogar älter

    Bis jetzt konnte man die Frage nur schwer beantworten, z.b. indem man "gleiche" Grafikkarten mit unterschiedlicher Speicher-Ausstattung gegeneinander geprüft hat.

    Aber damit konnte man nicht "jede" Speichermenge simulieren, und ständig Karten umstecken ist an sich auch nicht der richtige Weg.


    Hier kommt der User @gausmath ins Spiel.

    Er hat mal schnell ein kleines Programm geschrieben, das über Cuda eine beliebige VRAM-Menge belegt.

    Man kann also jetzt den Speicher einer Grafikkarte bewusst "begrenzen" indem man einfach Teile davon füllt.

    Und schon kann man ganz genau erkennen ab wann eine Software anfängt an Leistung zu verlieren wenn ihr der Speicher ausgeht.

    Und das ohne Karten tauschen zu müssen, einfach mit ein paar Zeilen in der Eingabe-Aufforderung.


    Download-Link: https://1drv.ms/u/s!As_jnW8h38YpgcZ0wUsAP7tNmnFf1Q


    Aufruf des Tools über die Konsole:

    Code:
    gpumem.exe 1000

    1000 sind 1GB. Quellcode ist auch im Ordner und wird mit

    Code:
    nvcc gpumem.cu -o gpumem -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin"

    kompiliert, falls man das selbst kompilieren möchte. Dazu braucht man noch das CUDA SDK: CUDA Toolkit 10.1 Download | NVIDIA Developer


    Hier als Beispiel. Ich habe im Leerlauf gut 1GB VRAM der Graka mit dem Zeug was bei mir so am Desktop läuft durch den Fenstermanager belegt.




    Ich starte das Programm mit dem Wert 10 GB und es werden 10GB VRAM gefüllt.



    Und sobald ich Return drücke, geht es auf den alten Wert zurück.



    So kann man jede Software dazu zwingen mit dem Speicher jonglieren zu müssen und genau sehen ab wann welche Software bei welchen Settings anfängt zu stottern oder die FPS in den Keller gehen. Und zwar ohne viel Aufwand.

    Ich hofffe das hilft bei der Frage: Wie viel VRAM ist wirklich nötig. Auch wenn die Beobachtung zur Zeit tatsächlich nur auf Grafikkarten mit "mehr als Genug" VRAM Punkte bringt, weil man auf Grafikkarten die sowieso schon zu wenig VRAM haben nur den Memorymanager mit Swappen beschäftigt. Wobei man allerdings aus der Beobachtung wie viel nun tatsächlich ins RAM geswappt wird, AUCH seine Schlüsse ziehen kann.


    Vielen Dank nochmal an den Programmierer gaussmath.




    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	VRAM.Fertig.jpg 
Hits:	324 
Größe:	129,6 KB 
ID:	1035860Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	VRAM-Gefuellt.jpg 
Hits:	320 
Größe:	98,4 KB 
ID:	1035861Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Leerlauf.jpg 
Hits:	318 
Größe:	93,0 KB 
ID:	1035862

    •   Alt

      Anzeige
      Bitte einloggen, um diese Anzeige auszublenden.
       

  2. #2
    Avatar von LastManStanding
    Mitglied seit
    27.04.2015
    Liest
    PCGH.de & Heft
    Ort
    OWL der Berg, zum Tal der Exter
    Beiträge
    2.964

    AW: VRAM-Allocator CUDA Version

    Oh schön bei 1 bis 2 Fragen könnte mir das sicherlich helfen.
    Ich wusste immer das gausmath ein Fuchs ist
    Danke schön
    Wie verschlüssele ich meine Milch auf dem Weg ins Glass? (Wikipedia-Link)
    Wenn man die Kirche im Dorf lässt, geht bald keiner mehr hin...
    Und wenn Gott mich also liebt wie er mich schuf, wieso darf ich nicht nackt in Kirche??
    1600X/Brocken 3/1080Ti Aorus/16GB 3000Mhz/X370/DDP850/DBP 900 Rev.2/2,3TB SSD/Dieser PC/Kenwood KA9800/ Technics SU7700K/Harman AVR171

  3. #3
    Avatar von gaussmath
    Mitglied seit
    27.09.2007
    Beiträge
    6.143

    AW: VRAM-Allocator CUDA Version

    Gilt immer noch die 4GB Grenze für OpenCL Applikationen durch den Nvidia Treiber??

  4. #4
    Avatar von HisN
    Mitglied seit
    19.03.2015
    Liest
    PCGH.de
    Ort
    Randberlin
    Beiträge
    16.288

    AW: VRAM-Allocator CUDA Version

    Nein, ich kann wundervoll 18GB vermüllen. Hier mal mein erster Versuch.

    ROTTR in DX11 (Kein Antialiasing/DSR/SSAA) mit VXAO, rest Maxed-Out in FHD.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ROTTR_2019_03_03_16_31_30_317.jpg 
Hits:	42 
Größe:	285,9 KB 
ID:	1035875

    Ich starte das Tool

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ROTTR_VRAM-Knapp.jpg 
Hits:	31 
Größe:	135,6 KB 
ID:	1035876

    Und wir können sehen das 6GB VRAM eventuell nicht mehr der Weißheit letzter Schluss in FHD sein könnten, wenn man dieses Game betrachtet, und man sieht auch sehr genau, woher das System jetzt fehlendes VRAM hernimmt.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ROTTR_2019_03_03_16_34_18_843.jpg 
Hits:	281 
Größe:	286,7 KB 
ID:	1035877

    Und schnell noch ein Gegentest mit 10GB "geklautem" Speicher. Nicht das jemand erzählt, das Tool klaut die Leistung.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ROTTR_2019_03_03_16_46_25_605.jpg 
Hits:	42 
Größe:	285,6 KB 
ID:	1035878

    Und das beste ES FUNKTIONIERT SOGAR IM CPU-LIMIT

  5. #5
    Avatar von gaussmath
    Mitglied seit
    27.09.2007
    Beiträge
    6.143

    AW: VRAM-Allocator CUDA Version

    Gut, wir müssen ja auch die AMDler am Test beteiligen. CUDA läuft auf AMD Karten nicht, aber ich sitze gerade an der OpenCL Variante.

    Hier der OpenCL Code:
    Code:
    #include <stdio.h>
    #include <OpenCL/opencl.h>
    
    int main(int argc, char *argv[])
    {
         unsigned long long mem_size = 0;
         int err; // error code
         cl_device_id device_id; // compute device id 
         cl_context context; // compute context
         cl_mem devTestMem
         
         err = clGetDeviceIDs(NULL, CL_DEVICE_TYPE_GPU, 1, &device_id, NULL);
    
         if (err != CL_SUCCESS)
         {
             printf("Error: Failed to create a device group!\n");
             return EXIT_FAILURE;
         }
         
         context = clCreateContext(0, 1, &device_id, NULL, NULL, &err);
    
         if (!context)
         {
             printf("Error: Failed to create a compute context!\n");
             return EXIT_FAILURE;
         }
    
         // get amount of memory to allocate in MB, default to 256
         if(argc < 2 || sscanf(argv[1], " %llu", &mem_size) != 1) {
            mem_size = 256;
         }
         mem_size *= 1024*1024;; // convert MB to bytes
    
         // allocate GPU memory
         devTestMem = clCreateBuffer(context,CL_MEM_READ_WRITE,mem_size,NULL,&err);
         
         if(!devTestMem) {
            printf("Error, could not allocate %llu bytes.\n", mem_size);
            return EXIT_FAILURE;
         }
    
         // wait for a key press
         printf("Press return to exit...\n");
         getchar();
    
         // free GPU memory and exit
         clReleaseMemObject(devTempMem);
         clReleaseContext(context);
         return 0;
    }
    Muss das nur noch kompiliert kriegen.
    Geändert von gaussmath (03.03.2019 um 17:42 Uhr)

  6. #6
    Avatar von Downsampler
    Mitglied seit
    25.11.2013
    Liest
    PCGH.de
    Beiträge
    989

    AW: VRAM-Allocator CUDA Version

    Wozu soll das jetzt nochmal genau gut sein?

    Ich mülle meinen VRAM voll, von dem ich eh schon zu wenig habe, egal wieviel ich davon habe, WEIL...?????

  7. #7
    Avatar von gaussmath
    Mitglied seit
    27.09.2007
    Beiträge
    6.143

    AW: VRAM-Allocator CUDA Version

    Hab den Code zum laufen gebracht, allerdings scheint's Probleme bei der Device Identifizierung zu geben.

    Ich mache morgen weiter..

  8. #8
    Avatar von HisN
    Mitglied seit
    19.03.2015
    Liest
    PCGH.de
    Ort
    Randberlin
    Beiträge
    16.288

    AW: VRAM-Allocator CUDA Version

    Zitat Zitat von Downsampler Beitrag anzeigen
    Wozu soll das jetzt nochmal genau gut sein?

    Ich mülle meinen VRAM voll, von dem ich eh schon zu wenig habe, egal wieviel ich davon habe, WEIL...?????
    Ich gerne über meinen Tellerrand schaue, und mich mit dem Beschäftige, was sonst noch so in den Foren abgeht.
    Kleiner Denkanstoß um Dich in die Richtung zu drehen.

    Sind 6GB VRAM zu wenig? Eine Analyse mit Pro / Kontra Betrachtung
    oder
    Nvidia GeForce RTX 2060 FE im Test - ComputerBase

  9. #9

    Mitglied seit
    29.09.2015
    Liest
    PCGH.de & Heft
    Beiträge
    2.802

    AW: VRAM-Allocator CUDA Version

    Zitat Zitat von HisN Beitrag anzeigen
    Nein, ich kann wundervoll 18GB vermüllen. Hier mal mein erster Versuch.

    ROTTR in DX11 (Kein Antialiasing/DSR/SSAA) mit VXAO, rest Maxed-Out in FHD.







    Und wir können sehen das 6GB VRAM eventuell nicht mehr der Weißheit letzter Schluss in FHD sein könnten, wenn man dieses Game betrachtet, und man sieht auch sehr genau, woher das System jetzt fehlendes VRAM hernimmt.

    Bei deinem Bild fragt man sich halt nur warum und vor allem weshalb wird soviel VRam verbraucht. Auch mit 6GB VRam kann ich ein gutes Bild in 4K zaubern ohne Texturmatsch.
    Wer mit 6GB VRam in FHD nicht auskommt, macht was falsch. Keiner zwingt einen Texturmods oder 4K Texturen in FHD einzuschalten.
    Für den der das will.....kein Ding wenn er eine Grafikkarte mit viiieeelll VRam kauft. .

    GTX 980 Ti 6GB VRam und es ruckelt und matscht nicht
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ROTTR_2016_09_24_12_50_36_374.jpg 
Hits:	34 
Größe:	2,11 MB 
ID:	1035944   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ROTTR_2016_09_24_12_53_30_872.jpg 
Hits:	33 
Größe:	2,13 MB 
ID:	1035945  
    HTPC: I7 2600K || Noctua NH- D14 || GA-P67A-UD4 ||EVGA GeForce GTX 980 SC 4GB || 16 GB G Skill Ripjaws 1600 Mhz|| SSD 250 GB Samsung Evo und 500 GB HDD || Be Quiet Straight Power 10 400w

    •   Alt

      Anzeige
      Bitte einloggen, um diese Anzeige auszublenden.
       

  10. #10
    Avatar von HisN
    Mitglied seit
    19.03.2015
    Liest
    PCGH.de
    Ort
    Randberlin
    Beiträge
    16.288

    AW: VRAM-Allocator CUDA Version

    Genau darauf will ich hinaus.
    Man kann jetzt ganz genau sehen ab wann eine bestimmte Menge VRAM Leistung kostet.
    Und es gibt halt die Gamer die jedem FPS hinterherrennen, und die Gamer die einfach nur zocken wollen, und die Gamer, bei denen das Bild einfach nicht geil genug aussehen kann.
    Jeder dieser Gruppe kann man jetzt bei einer Kaufberatung eventuell besser helfen wie viel Geld sie in VRAM stecken sollen.

    Die Sache ist doch die ... VRAM kostet Geld, daher gibt es die "preiswerten" Grafikkarten mit weniger VRAM. Nun kann man losgelöst von der Rohleistung schon mal Betrachten wie viel VRAM man für eine bestimmte Anwendung braucht.
    Denn viele Leute kaufen ihre Grafikkarten ja z.b. wenn sie für eine Bestimmte Anwendung nicht mehr ausreichen.
    Ich beobachte das mit dem VRAM ja schon etliche Jahre, konnte aber bissher nur sehen wie viel VRAM eine Anwendung belegt, nicht wie viel sie benötigt.
    DAS sehe ich jetzt besser als vorher. Ich finde das unglaublich interessant.

Seite 1 von 10 12345 ...

Ähnliche Themen

  1. Sapphire Radeon R9 290X Vapor-X mit 8 GiB VRAM: "UEFI"-Version für 690 Euro
    Von PCGH-Redaktion im Forum News-Kommentare zu Grafikkarten
    Antworten: 20
    Letzter Beitrag: 24.07.2014, 08:59
  2. Geforce GTX 790: Dual-Kepler angeblich im Februar mit 10 GiByte VRAM und 4.992 Cuda-Einheiten
    Von PCGH-Redaktion im Forum News-Kommentare zu Grafikkarten
    Antworten: 118
    Letzter Beitrag: 12.01.2014, 20:05
  3. Nvidia: Cuda nun in der Version 2.2 verfügbar
    Von PCGH-Redaktion im Forum News-Kommentare zu Grafikkarten
    Antworten: 13
    Letzter Beitrag: 16.05.2009, 12:59
  4. 8800 GT: Version mit 256MiByte VRAM gelistet!
    Von GoZoU im Forum User-News
    Antworten: 0
    Letzter Beitrag: 02.11.2007, 12:06
  5. 2.03 Version von Riva Tuner
    Von Sgt.Joker im Forum Tools, Anwendungen und Sicherheit
    Antworten: 12
    Letzter Beitrag: 05.09.2007, 12:47

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •