striker159
Lt. Junior Grade
- Registriert
- Dez. 2008
- Beiträge
- 328
hallo. ich möchte mit openmp mit mehreren threads eine funktion aufrufen und die zeit zwischen "funktionsaufruf erster thread" und "return letzter thread" ermitteln.
dazu habe ich mir folgendes gedacht:
b sollte so die letzte zeit sein, aber ist a auch die erste zeit? single heißt soweit ich weiß nur, dass der code nur von einem thread ausgeführt werden soll, aber nicht, dass es der erste thread sein soll, der die anweisung erreicht.
gibt es vielleicht eine andere, bessere methode dafür?
dazu habe ich mir folgendes gedacht:
Code:
clock_t a;
clock_t b;
#pragma omp parallel
{
#pragma omp single
a = clock();
function();
b = clock();
[...noch mehr code, weshalb ich nicht einfach vor und nach der parallel region messen kann...]
}
b sollte so die letzte zeit sein, aber ist a auch die erste zeit? single heißt soweit ich weiß nur, dass der code nur von einem thread ausgeführt werden soll, aber nicht, dass es der erste thread sein soll, der die anweisung erreicht.
gibt es vielleicht eine andere, bessere methode dafür?