Fix LIKWID profile macro wrapper

This commit is contained in:
Jan Eitzinger
2020-12-09 08:37:07 +01:00
parent 142cbdf7e3
commit 89b2ecdb75
2 changed files with 13 additions and 14 deletions

View File

@@ -26,7 +26,6 @@
*/ */
#include <timing.h> #include <timing.h>
#include <likwid-marker.h>
double daxpy( double daxpy(
double * restrict a, double * restrict a,
@@ -38,13 +37,10 @@ double daxpy(
double S, E; double S, E;
S = getTimeStamp(); S = getTimeStamp();
#pragma omp parallel #pragma omp parallel for schedule(static)
{
#pragma omp for schedule(static)
for (int i=0; i<N; i++) { for (int i=0; i<N; i++) {
a[i] = a[i] + scalar * b[i]; a[i] = a[i] + scalar * b[i];
} }
}
E = getTimeStamp(); E = getTimeStamp();
return E-S; return E-S;

View File

@@ -55,20 +55,20 @@
#define LIKWID_PROFILE(tag,call) \ #define LIKWID_PROFILE(tag,call) \
_Pragma ("omp parallel") \ _Pragma ("omp parallel") \
{LIKWID_MARKER_START(#tag);} \ {LIKWID_MARKER_START(#tag);} \
times[tag##T][k] = call; \ times[tag][k] = call; \
_Pragma ("omp parallel") \ _Pragma ("omp parallel") \
{LIKWID_MARKER_STOP(#tag);} {LIKWID_MARKER_STOP(#tag);}
typedef enum benchmark { typedef enum benchmark {
INITT = 0, INIT = 0,
SUMT, SUM,
COPYT, COPY,
UPDATET, UPDATE,
TRIADT, TRIAD,
DAXPYT, DAXPY,
STRIADT, STRIAD,
SDAXPYT, SDAXPY,
NUMBENCH NUMBENCH
} benchmark; } benchmark;
@@ -177,10 +177,13 @@ _Pragma("omp parallel")
scalar = 3.0; scalar = 3.0;
for ( int k=0; k < NTIMES; k++) { for ( int k=0; k < NTIMES; k++) {
LIKWID_PROFILE(INIT,init(b, scalar, N)); LIKWID_PROFILE(INIT,init(b, scalar, N));
tmp = a[10]; tmp = a[10];
LIKWID_PROFILE(SUM,sum(a, N)); LIKWID_PROFILE(SUM,sum(a, N));
a[10] = tmp; a[10] = tmp;
LIKWID_PROFILE(COPY,copy(c, a, N)); LIKWID_PROFILE(COPY,copy(c, a, N));
LIKWID_PROFILE(UPDATE,update(a, scalar, N)); LIKWID_PROFILE(UPDATE,update(a, scalar, N));
LIKWID_PROFILE(TRIAD,triad(a, b, c, scalar, N)); LIKWID_PROFILE(TRIAD,triad(a, b, c, scalar, N));