Skip to content

caps-tum/cuda-dyn-codegen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cuda-dyn-codegen

--type arg                 "cpu", "gpu" or "dyn"
--width arg (=4096)        width of the matrix
--height arg (=4096)       height of the matrix
--numIterations arg (=50)  number of iterations to calculate
--csv arg (=output.csv)    name of the csv file
--matrix arg               name of the matrix output file

GPU Options:
--kernel arg (=1)          version of the kernel to use

z. B. berechnet

gpu-impl.exe --type gpu --kernel 2 --width 5000 --height 5000 --csv test.csv --matrix test.txt

50 Iterationen mit einer 5000x5000 Matrix mit dem 2. Kernel, speichert die Messdaten in test.csv und die Matrix mit dem Ergebnis in test.txt.

Gpu
Width;Height;Stencils/Second (all);Stencils/Second (comput)
5000;5000;4331542222;5806602510
  • "all" umfasst das Allokieren von Speicher, das Umkopieren und die eigentliche Berechnung
  • "comput" bezieht sich nur auf die Anzahl der Berechnungen

Kernel 6 und der zur Laufzeit kompilierte Kernel sind identisch, beide benutzen momentan einen Stencil mit der Form:

  1
  1
11111
  1
  1

Wobei Kernel 6 die Gewichtung der einzelnen Elemente aus einem Array ausliest und der dynamische Kernel diese zur Laufzeit einkompiliert bekommt. Dementsprechend spart der dynamische Kernel bei einer Gewichtung von 1 für alle Elemente 9 Multiplikationen, 9 Additionen und vor allem die zugehörigen Speicherzugriffe ein.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages