GPU Benchmark C#?

GPU oder CPU?

CPu recht einfach, erstell einfach ein Array einer beliebigen Größe, und les dann die die du in ein zweites Array gleicher Größe schreibst. Und das machste als Loop, wobei du die Zeit misst. Fertig.

So misst du am Besten den Durchsatz etc, da du keine weiteren Opperationen von der CPU hast. Kannst das Gleiche natürlich dann auch noch mit MUL, ADD und MADD machen.

Wichtig ist halt nur ein 1D Array zu verwenden, weil dann alles schön zusammenhängend im Speicher liegt. Wenn du 2D arrays machst, dann liegen die Pointer auf die Zeilen zusammenhängend im Speicher, die einzelnen Zeilen dann aber nicht mehr! Die sind jeweils für sich zusammenhängend im RAM, aber mehrere Zeilen sind halt wild verstreut im RAM. Was dazu führt, das du prefetching etc nicht so gut ausnützen kannst und auch ansonsten mit Cachelines etc etc etc mehr Probleme bekommst, was die Performance drückt.

Nein Nein ich meine Arbeitspeicher Benchen ! du hast mal was geschrieben wie das gehen soll das hab ich aber net verstanden
 
int array=new int [großeZahl];
for(intj=0; i<irgendeineZahl; j++{
for(int i=0; i<großeZahl; i++){
array=array;
}
}

und dazwischen misste die Zeit.

statt array=array, bei dem du eigentlich nur die RAM Leistung dir anschaust, kannste auch array=array*1; machen Da bekommste dann noch etwas CPU Last dazu.

Oder array*array+array;

solche Spielereien eben.
 
Zurück