Skip to content

Commit 8b720f7

Browse files
authored
Merge pull request #2494 from shengyang-3390/develop
add benchmark for csrot and zdrot
2 parents 14df234 + 09c7a19 commit 8b720f7

2 files changed

Lines changed: 69 additions & 16 deletions

File tree

benchmark/Makefile

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
6464
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
6565
sger.goto dger.goto cger.goto zger.goto \
6666
sdot.goto ddot.goto \
67-
srot.goto drot.goto \
67+
srot.goto drot.goto csrot.goto zdrot.goto \
6868
srotm.goto drotm.goto \
6969
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
7070
scopy.goto dcopy.goto ccopy.goto zcopy.goto \
@@ -100,6 +100,7 @@ acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
100100
ssyr2k.acml dsyr2k.acml csyr2k.acml zsyr2k.acml \
101101
sger.acml dger.acml cger.acml zger.acml \
102102
sdot.acml ddot.acml \
103+
srot.acml drot.acml csrot.acml zdrot.acml \
103104
srotm.acml drotm.acml \
104105
saxpy.acml daxpy.acml caxpy.acml zaxpy.acml \
105106
scopy.acml dcopy.acml ccopy.acml zcopy.acml \
@@ -135,6 +136,7 @@ atlas :: slinpack.atlas dlinpack.atlas clinpack.atlas zlinpack.atlas \
135136
ssyr2k.atlas dsyr2k.atlas csyr2k.atlas zsyr2k.atlas \
136137
sger.atlas dger.atlas cger.atlas zger.atlas\
137138
sdot.atlas ddot.atlas \
139+
srot.atlas drot.atlas csrot.atlas zdrot.atlas \
138140
srotm.atlas drotm.atlas \
139141
saxpy.atlas daxpy.atlas caxpy.atlas zaxpy.atlas \
140142
scopy.atlas dcopy.atlas ccopy.atlas zcopy.atlas \
@@ -171,6 +173,7 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
171173
ssyr2k.mkl dsyr2k.mkl csyr2k.mkl zsyr2k.mkl \
172174
sger.mkl dger.mkl cger.mkl zger.mkl \
173175
sdot.mkl ddot.mkl \
176+
srot.mkl drot.mkl csrot.mkl zdrot.mkl \
174177
srotm.mkl drotm.mkl \
175178
saxpy.mkl daxpy.mkl caxpy.mkl zaxpy.mkl \
176179
scopy.mkl dcopy.mkl ccopy.mkl zcopy.mkl \
@@ -206,7 +209,7 @@ goto :: sgemm.goto dgemm.goto cgemm.goto zgemm.goto \
206209
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
207210
sger.goto dger.goto cger.goto zger.goto \
208211
sdot.goto ddot.goto cdot.goto zdot.goto \
209-
srot.goto drot.goto \
212+
srot.goto drot.goto csrot.goto zdrot.goto \
210213
srotm.goto drotm.goto \
211214
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
212215
scopy.goto dcopy.goto ccopy.goto zcopy.goto \
@@ -241,6 +244,7 @@ acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
241244
ssyr2k.acml dsyr2k.acml csyr2k.acml zsyr2k.acml \
242245
sger.acml dger.acml cger.acml zger.acml \
243246
sdot.acml ddot.acml \
247+
srot.acml drot.acml csrot.acml zdrot.acml \
244248
srotm.acml drotm.acml \
245249
saxpy.acml daxpy.acml caxpy.acml zaxpy.acml \
246250
scopy.acml dcopy.acml ccopy.acml zcopy.acml \
@@ -276,6 +280,7 @@ atlas :: slinpack.atlas dlinpack.atlas clinpack.atlas zlinpack.atlas \
276280
ssyr2k.atlas dsyr2k.atlas csyr2k.atlas zsyr2k.atlas \
277281
sger.atlas dger.atlas cger.atlas zger.atlas\
278282
sdot.atlas ddot.atlas \
283+
srot.atlas drot.atlas csrot.atlas zdrot.atlas \
279284
srotm.atlas drotm.atlas \
280285
saxpy.atlas daxpy.atlas caxpy.atlas zaxpy.atlas \
281286
scopy.atlas dcopy.atlas ccopy.atlas zcopy.atlas \
@@ -314,6 +319,7 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
314319
ssyr2k.mkl dsyr2k.mkl csyr2k.mkl zsyr2k.mkl \
315320
sger.mkl dger.mkl cger.mkl zger.mkl \
316321
sdot.mkl ddot.mkl cdot.mkl zdot.mkl \
322+
srot.atlas drot.atlas csrot.atlas zdrot.atlas \
317323
srotm.atlas drotm.atlas \
318324
saxpy.mkl daxpy.mkl caxpy.mkl zaxpy.mkl \
319325
scopy.mkl dcopy.mkl ccopy.mkl zcopy.mkl \
@@ -360,6 +366,7 @@ veclib :: slinpack.veclib dlinpack.veclib clinpack.veclib zlinpack.veclib \
360366
ssyr2k.veclib dsyr2k.veclib csyr2k.veclib zsyr2k.veclib \
361367
sger.veclib dger.veclib cger.veclib zger.veclib \
362368
sdot.veclib ddot.veclib cdot.veclib zdot.veclib \
369+
srot.veclib drot.veclib csrot.veclib zdrot.veclib \
363370
srotm.veclib drotm.veclib \
364371
saxpy.veclib daxpy.veclib caxpy.veclib zaxpy.veclib \
365372
scopy.veclib dcopy.veclib ccopy.veclib zcopy.veclib \
@@ -1925,6 +1932,38 @@ drot.mkl : drot.$(SUFFIX)
19251932
drot.veclib : drot.$(SUFFIX)
19261933
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
19271934

1935+
##################################### csrot ####################################################
1936+
csrot.goto : csrot.$(SUFFIX) ../$(LIBNAME)
1937+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
1938+
1939+
csrot.acml : csrot.$(SUFFIX)
1940+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1941+
1942+
csrot.atlas : csrot.$(SUFFIX)
1943+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1944+
1945+
csrot.mkl : csrot.$(SUFFIX)
1946+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1947+
1948+
csrot.veclib : csrot.$(SUFFIX)
1949+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1950+
1951+
##################################### zdrot ####################################################
1952+
zdrot.goto : zdrot.$(SUFFIX) ../$(LIBNAME)
1953+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
1954+
1955+
zdrot.acml : zdrot.$(SUFFIX)
1956+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1957+
1958+
zdrot.atlas : zdrot.$(SUFFIX)
1959+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1960+
1961+
zdrot.mkl : zdrot.$(SUFFIX)
1962+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1963+
1964+
zdrot.veclib : zdrot.$(SUFFIX)
1965+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1966+
19281967
##################################### srotm ####################################################
19291968
srotm.goto : srotm.$(SUFFIX) ../$(LIBNAME)
19301969
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -2791,6 +2830,12 @@ srot.$(SUFFIX) : rot.c
27912830
drot.$(SUFFIX) : rot.c
27922831
$(CC) $(CFLAGS) -c -UCOMPLEX -DDOUBLE -o $(@F) $^
27932832

2833+
csrot.$(SUFFIX) : rot.c
2834+
$(CC) $(CFLAGS) -c -DCOMPLEX -UDOUBLE -o $(@F) $^
2835+
2836+
zdrot.$(SUFFIX) : rot.c
2837+
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
2838+
27942839
srotm.$(SUFFIX) : rotm.c
27952840
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
27962841

benchmark/rot.c

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3232
#endif
3333
#include "common.h"
3434

35+
#undef ROT
3536

36-
#undef DOT
37-
37+
#ifndef COMPLEX
3838

3939
#ifdef DOUBLE
4040
#define ROT BLASFUNC(drot)
4141
#else
4242
#define ROT BLASFUNC(srot)
4343
#endif
4444

45+
#else
46+
47+
#ifdef DOUBLE
48+
#define ROT BLASFUNC(zdrot)
49+
#else
50+
#define ROT BLASFUNC(csrot)
51+
#endif
52+
53+
#endif
4554

4655
#if defined(__WIN32__) || defined(__WIN64__)
4756

@@ -160,17 +169,16 @@ int main(int argc, char *argv[]){
160169

161170
fprintf(stderr, " %6d : ", (int)m);
162171

172+
for(i = 0; i < m * COMPSIZE * abs(inc_x); i++){
173+
x[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
174+
}
175+
176+
for(i = 0; i < m * COMPSIZE * abs(inc_y); i++){
177+
y[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
178+
}
163179

164180
for (l=0; l<loops; l++)
165181
{
166-
167-
for(i = 0; i < m * COMPSIZE * abs(inc_x); i++){
168-
x[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
169-
}
170-
171-
for(i = 0; i < m * COMPSIZE * abs(inc_y); i++){
172-
y[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
173-
}
174182
gettimeofday( &start, (struct timezone *)0);
175183

176184
ROT (&m, x, &inc_x, y, &inc_y, c, s);
@@ -179,13 +187,13 @@ int main(int argc, char *argv[]){
179187

180188
time1 = (double)(stop.tv_sec - start.tv_sec) + (double)((stop.tv_usec - start.tv_usec)) * 1.e-6;
181189

182-
timeg += time1;
190+
timeg += time1;
183191

184-
}
192+
}
185193

186-
timeg /= loops;
194+
timeg /= loops;
187195

188-
fprintf(stderr,
196+
fprintf(stderr,
189197
" %10.2f MFlops %10.6f sec\n",
190198
COMPSIZE * COMPSIZE * 6. * (double)m / timeg * 1.e-6, timeg);
191199

0 commit comments

Comments
 (0)