Minimale GPUCalc Library (OpenGL)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

bei mir gehts:
Initializing
Allocating some memory
Loading the dataset into the GPU
Binding the code
Calculating
Time needed for GPU Calculation (5000 times): 968ms
Dataset A: 0.000 0.100 0.200 0.300 0.400 0.500 [...]
Dataset B: 0.100 0.100 0.100 0.100 0.100 0.100 [...]
--------------------------------------------------------------------------------

Dataset R: 0.000 0.004 0.017 0.045 0.096 0.178 [...]


Time needed for CPU Calculation (5000 times): 3985ms
Dataset A: 0.000 0.100 0.200 0.300 0.400 0.500 [...]
Dataset B: 0.100 0.100 0.100 0.100 0.100 0.100 [...]
--------------------------------------------------------------------------------

Dataset R: 0.000 0.004 0.017 0.045 0.096 0.178 [...]

Both result-buffers are equal (Maximum tolerance between floats: 0.0000010000. W
e must use this, because of different algorithms for square roots and power of f
unctions).

Press any key to release all data and to exit.
:allright:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Norbie
Beiträge: 134
Registriert: 29.08.2004 12:45
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von Norbie »

Meinst du mit Motivation Geld???^^
http://www.nevu.de/ Künstliche Intelligenz, die letzte Herausforderung!
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Hallo miteinander! (Alle Antworten: Hallo Dr. Nick!)
Norbie hat geschrieben:Meinst du mit Motivation Geld???^^
Nein, aber chronisch pleite bin ich auch. Vllt. verkauf ich die DLL... :lol: in der Hoffnung, dass doch irgendwann mal jemand irgendwas bei mir kauft.

------------------------------------------------------------------------------------

@KeyKon: Selber Link, neues Glück! http://www.bradan.eu/files/gpuCalc.zip
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Kann grad leider nich an den ATI PC, aber an meinem PC mit der 8800 GTX läufts gut, is auch viel schneller als mein QX6700:
Initializing
Allocating some memory
Loading the dataset into the GPU
Binding the code
Calculating
Time needed for GPU Calculation (5000 times): 297ms
Dataset A: 0.000 0.100 0.200 0.300 0.400 0.500 [...]
Dataset B: 0.100 0.100 0.100 0.100 0.100 0.100 [...]
--------------------------------------------------------------------------------

Dataset R: 0.000 0.004 0.017 0.045 0.096 0.178 [...]


Time needed for CPU Calculation (5000 times): 4172ms
Dataset A: 0.000 0.100 0.200 0.300 0.400 0.500 [...]
Dataset B: 0.100 0.100 0.100 0.100 0.100 0.100 [...]
--------------------------------------------------------------------------------

Dataset R: 0.000 0.004 0.017 0.045 0.096 0.178 [...]

Both result-buffers are equal (Maximum tolerance between floats: 0.0000010000. W
e must use this, because of different algorithms for square roots and power of f
unctions).

Press any key to release all data and to exit.
(\/) (°,,,°) (\/)
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Minimale GPUCalc Library (OpenGL)

Beitrag von DarkDragon »

Hallo,

Ich hab vor ein paar Monaten etwas daran rumgeschraubt. In einer Virtuellen Maschine wird das nicht mehr laufen (zumindest bei VirtualBox, da Fließkomma-Texturen dort entfernt wurden). Da ich aber momentan kaum Zeit hab es zu testen, veröffentliche ich es einfach mal so auf gut Glück:
http://www.bradan.eu/files/GPUCalcNew.zip

Ein Testcode ist dabei, allerdings unoptimiert und eher auf die Funktionalität ausgelegt. Datensätze haben eine feste, maximale Größe: 2048x2048x4 .. ich weiß das ist blöd, aber sollte auf ziemlich vielen Systemen angenehm laufen und man kann ja notfalls viele Datensätze in einen Datensatz packen und dann mit einem Offset ansprechen. Integer Berechnungen wurden hinzugefügt, für Grafikkarten die das unterstützen. Nur das Verhalten bei einem Overflow scheint mir nicht Einheitlich geregelt zu sein.

[EDIT]
Ah und alles ist nun in C++ geschrieben, weil es dort einfach einfacher ist mit der XLib zu hantieren (ich wollte nicht GTK dafür verwenden).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten