File:
[cvs.NetBSD.org] /
pkgsrc /
benchmarks /
linpack-bench /
patches /
patch-aa
Revision
1.3:
download - view:
text,
annotated -
select for diffs
Fri Jan 11 23:25:11 2013 UTC (11 years, 11 months ago) by
joerg
Branches:
MAIN
CVS tags:
pkgsrc-2024Q3-base,
pkgsrc-2024Q3,
pkgsrc-2024Q2-base,
pkgsrc-2024Q2,
pkgsrc-2024Q1-base,
pkgsrc-2024Q1,
pkgsrc-2023Q4-base,
pkgsrc-2023Q4,
pkgsrc-2023Q3-base,
pkgsrc-2023Q3,
pkgsrc-2023Q2-base,
pkgsrc-2023Q2,
pkgsrc-2023Q1-base,
pkgsrc-2023Q1,
pkgsrc-2022Q4-base,
pkgsrc-2022Q4,
pkgsrc-2022Q3-base,
pkgsrc-2022Q3,
pkgsrc-2022Q2-base,
pkgsrc-2022Q2,
pkgsrc-2022Q1-base,
pkgsrc-2022Q1,
pkgsrc-2021Q4-base,
pkgsrc-2021Q4,
pkgsrc-2021Q3-base,
pkgsrc-2021Q3,
pkgsrc-2021Q2-base,
pkgsrc-2021Q2,
pkgsrc-2021Q1-base,
pkgsrc-2021Q1,
pkgsrc-2020Q4-base,
pkgsrc-2020Q4,
pkgsrc-2020Q3-base,
pkgsrc-2020Q3,
pkgsrc-2020Q2-base,
pkgsrc-2020Q2,
pkgsrc-2020Q1-base,
pkgsrc-2020Q1,
pkgsrc-2019Q4-base,
pkgsrc-2019Q4,
pkgsrc-2019Q3-base,
pkgsrc-2019Q3,
pkgsrc-2019Q2-base,
pkgsrc-2019Q2,
pkgsrc-2019Q1-base,
pkgsrc-2019Q1,
pkgsrc-2018Q4-base,
pkgsrc-2018Q4,
pkgsrc-2018Q3-base,
pkgsrc-2018Q3,
pkgsrc-2018Q2-base,
pkgsrc-2018Q2,
pkgsrc-2018Q1-base,
pkgsrc-2018Q1,
pkgsrc-2017Q4-base,
pkgsrc-2017Q4,
pkgsrc-2017Q3-base,
pkgsrc-2017Q3,
pkgsrc-2017Q2-base,
pkgsrc-2017Q2,
pkgsrc-2017Q1-base,
pkgsrc-2017Q1,
pkgsrc-2016Q4-base,
pkgsrc-2016Q4,
pkgsrc-2016Q3-base,
pkgsrc-2016Q3,
pkgsrc-2016Q2-base,
pkgsrc-2016Q2,
pkgsrc-2016Q1-base,
pkgsrc-2016Q1,
pkgsrc-2015Q4-base,
pkgsrc-2015Q4,
pkgsrc-2015Q3-base,
pkgsrc-2015Q3,
pkgsrc-2015Q2-base,
pkgsrc-2015Q2,
pkgsrc-2015Q1-base,
pkgsrc-2015Q1,
pkgsrc-2014Q4-base,
pkgsrc-2014Q4,
pkgsrc-2014Q3-base,
pkgsrc-2014Q3,
pkgsrc-2014Q2-base,
pkgsrc-2014Q2,
pkgsrc-2014Q1-base,
pkgsrc-2014Q1,
pkgsrc-2013Q4-base,
pkgsrc-2013Q4,
pkgsrc-2013Q3-base,
pkgsrc-2013Q3,
pkgsrc-2013Q2-base,
pkgsrc-2013Q2,
pkgsrc-2013Q1-base,
pkgsrc-2013Q1,
HEAD
Use more void.
$NetBSD: patch-aa,v 1.3 2013/01/11 23:25:11 joerg Exp $
--- linpack.c.orig 2013-01-11 15:21:29.000000000 +0000
+++ linpack.c
@@ -48,7 +48,10 @@ You must specify one of -DROLL or -DUNRO
#include <stdio.h>
#include <math.h>
-static REAL time[9][9];
+static REAL timex[9][9];
+
+static void daxpy(int n, REAL da, REAL *dx, int incx, REAL *dy, int incy);
+static void dscal(int n, REAL da, REAL *dx,int incx);
main ()
{
@@ -71,11 +74,11 @@ main ()
matgen(a,lda,n,b,&norma);
t1 = second();
dgefa(a,lda,n,ipvt,&info);
- time[0][0] = second() - t1;
+ timex[0][0] = second() - t1;
t1 = second();
dgesl(a,lda,n,ipvt,b,0);
- time[1][0] = second() - t1;
- total = time[0][0] + time[1][0];
+ timex[1][0] = second() - t1;
+ total = timex[0][0] + timex[1][0];
/* compute a residual to verify results. */
@@ -108,10 +111,10 @@ main ()
fprintf(stderr," dgefa dgesl total kflops unit");
fprintf(stderr," ratio\n");
- time[2][0] = total;
- time[3][0] = ops/(1.0e3*total);
- time[4][0] = 2.0e3/time[3][0];
- time[5][0] = total/cray;
+ timex[2][0] = total;
+ timex[3][0] = ops/(1.0e3*total);
+ timex[4][0] = 2.0e3/timex[3][0];
+ timex[5][0] = total/cray;
fprintf(stderr," times for array with leading dimension of%5d\n",lda);
print_time(0);
@@ -119,28 +122,28 @@ main ()
matgen(a,lda,n,b,&norma);
t1 = second();
dgefa(a,lda,n,ipvt,&info);
- time[0][1] = second() - t1;
+ timex[0][1] = second() - t1;
t1 = second();
dgesl(a,lda,n,ipvt,b,0);
- time[1][1] = second() - t1;
- total = time[0][1] + time[1][1];
- time[2][1] = total;
- time[3][1] = ops/(1.0e3*total);
- time[4][1] = 2.0e3/time[3][1];
- time[5][1] = total/cray;
+ timex[1][1] = second() - t1;
+ total = timex[0][1] + timex[1][1];
+ timex[2][1] = total;
+ timex[3][1] = ops/(1.0e3*total);
+ timex[4][1] = 2.0e3/timex[3][1];
+ timex[5][1] = total/cray;
matgen(a,lda,n,b,&norma);
t1 = second();
dgefa(a,lda,n,ipvt,&info);
- time[0][2] = second() - t1;
+ timex[0][2] = second() - t1;
t1 = second();
dgesl(a,lda,n,ipvt,b,0);
- time[1][2] = second() - t1;
- total = time[0][2] + time[1][2];
- time[2][2] = total;
- time[3][2] = ops/(1.0e3*total);
- time[4][2] = 2.0e3/time[3][2];
- time[5][2] = total/cray;
+ timex[1][2] = second() - t1;
+ total = timex[0][2] + timex[1][2];
+ timex[2][2] = total;
+ timex[3][2] = ops/(1.0e3*total);
+ timex[4][2] = 2.0e3/timex[3][2];
+ timex[5][2] = total/cray;
ntimes = NTIMES;
tm2 = 0.0;
@@ -153,19 +156,19 @@ main ()
dgefa(a,lda,n,ipvt,&info);
}
- time[0][3] = (second() - t1 - tm2)/ntimes;
+ timex[0][3] = (second() - t1 - tm2)/ntimes;
t1 = second();
for (i = 0; i < ntimes; i++) {
dgesl(a,lda,n,ipvt,b,0);
}
- time[1][3] = (second() - t1)/ntimes;
- total = time[0][3] + time[1][3];
- time[2][3] = total;
- time[3][3] = ops/(1.0e3*total);
- time[4][3] = 2.0e3/time[3][3];
- time[5][3] = total/cray;
+ timex[1][3] = (second() - t1)/ntimes;
+ total = timex[0][3] + timex[1][3];
+ timex[2][3] = total;
+ timex[3][3] = ops/(1.0e3*total);
+ timex[4][3] = 2.0e3/timex[3][3];
+ timex[5][3] = total/cray;
print_time(1);
print_time(2);
@@ -174,41 +177,41 @@ main ()
matgen(aa,ldaa,n,b,&norma);
t1 = second();
dgefa(aa,ldaa,n,ipvt,&info);
- time[0][4] = second() - t1;
+ timex[0][4] = second() - t1;
t1 = second();
dgesl(aa,ldaa,n,ipvt,b,0);
- time[1][4] = second() - t1;
- total = time[0][4] + time[1][4];
- time[2][4] = total;
- time[3][4] = ops/(1.0e3*total);
- time[4][4] = 2.0e3/time[3][4];
- time[5][4] = total/cray;
+ timex[1][4] = second() - t1;
+ total = timex[0][4] + timex[1][4];
+ timex[2][4] = total;
+ timex[3][4] = ops/(1.0e3*total);
+ timex[4][4] = 2.0e3/timex[3][4];
+ timex[5][4] = total/cray;
matgen(aa,ldaa,n,b,&norma);
t1 = second();
dgefa(aa,ldaa,n,ipvt,&info);
- time[0][5] = second() - t1;
+ timex[0][5] = second() - t1;
t1 = second();
dgesl(aa,ldaa,n,ipvt,b,0);
- time[1][5] = second() - t1;
- total = time[0][5] + time[1][5];
- time[2][5] = total;
- time[3][5] = ops/(1.0e3*total);
- time[4][5] = 2.0e3/time[3][5];
- time[5][5] = total/cray;
+ timex[1][5] = second() - t1;
+ total = timex[0][5] + timex[1][5];
+ timex[2][5] = total;
+ timex[3][5] = ops/(1.0e3*total);
+ timex[4][5] = 2.0e3/timex[3][5];
+ timex[5][5] = total/cray;
matgen(aa,ldaa,n,b,&norma);
t1 = second();
dgefa(aa,ldaa,n,ipvt,&info);
- time[0][6] = second() - t1;
+ timex[0][6] = second() - t1;
t1 = second();
dgesl(aa,ldaa,n,ipvt,b,0);
- time[1][6] = second() - t1;
- total = time[0][6] + time[1][6];
- time[2][6] = total;
- time[3][6] = ops/(1.0e3*total);
- time[4][6] = 2.0e3/time[3][6];
- time[5][6] = total/cray;
+ timex[1][6] = second() - t1;
+ total = timex[0][6] + timex[1][6];
+ timex[2][6] = total;
+ timex[3][6] = ops/(1.0e3*total);
+ timex[4][6] = 2.0e3/timex[3][6];
+ timex[5][6] = total/cray;
ntimes = NTIMES;
tm2 = 0;
@@ -219,22 +222,22 @@ main ()
tm2 = tm2 + second() - tm;
dgefa(aa,ldaa,n,ipvt,&info);
}
- time[0][7] = (second() - t1 - tm2)/ntimes;
+ timex[0][7] = (second() - t1 - tm2)/ntimes;
t1 = second();
for (i = 0; i < ntimes; i++) {
dgesl(aa,ldaa,n,ipvt,b,0);
}
- time[1][7] = (second() - t1)/ntimes;
- total = time[0][7] + time[1][7];
- time[2][7] = total;
- time[3][7] = ops/(1.0e3*total);
- time[4][7] = 2.0e3/time[3][7];
- time[5][7] = total/cray;
+ timex[1][7] = (second() - t1)/ntimes;
+ total = timex[0][7] + timex[1][7];
+ timex[2][7] = total;
+ timex[3][7] = ops/(1.0e3*total);
+ timex[4][7] = 2.0e3/timex[3][7];
+ timex[5][7] = total/cray;
/* the following code sequence implements the semantics of
- the Fortran intrinsics "nint(min(time[3][3],time[3][7]))" */
+ the Fortran intrinsics "nint(min(timex[3][3],timex[3][7]))" */
- kf = (time[3][3] < time[3][7]) ? time[3][3] : time[3][7];
+ kf = (timex[3][3] < timex[3][7]) ? timex[3][3] : timex[3][7];
kf = (kf > ZERO) ? (kf + .5) : (kf - .5);
if (fabs((double)kf) < ONE)
kflops = 0;
@@ -256,9 +259,9 @@ main ()
print_time (row)
int row;
{
-fprintf(stderr,"%11.2f%11.2f%11.2f%11.0f%11.2f%11.2f\n", (double)time[0][row],
- (double)time[1][row], (double)time[2][row], (double)time[3][row],
- (double)time[4][row], (double)time[5][row]);
+fprintf(stderr,"%11.2f%11.2f%11.2f%11.0f%11.2f%11.2f\n", (double)timex[0][row],
+ (double)timex[1][row], (double)timex[2][row], (double)timex[3][row],
+ (double)timex[4][row], (double)timex[5][row]);
}
/*----------------------*/
@@ -528,13 +531,11 @@ function, references to a[i][j] are writ
/*----------------------*/
-daxpy(n,da,dx,incx,dy,incy)
+static void daxpy(int n, REAL da, REAL *dx, int incx, REAL *dy, int incy)
/*
constant times a vector plus a vector.
jack dongarra, linpack, 3/11/78.
*/
-REAL dx[],dy[],da;
-int incx,incy,n;
{
int i,ix,iy,m,mp1;
@@ -642,13 +643,11 @@ int incx,incy,n;
}
/*----------------------*/
-dscal(n,da,dx,incx)
+static void dscal(int n, REAL da, REAL *dx,int incx)
/* scales a vector by a constant.
jack dongarra, linpack, 3/11/78.
*/
-REAL da,dx[];
-int n, incx;
{
int i,m,mp1,nincx;
@@ -885,16 +884,14 @@ function, references to m[i][j] are writ
}
/*----------------------*/
-REAL second()
-{
#include <sys/time.h>
#include <sys/resource.h>
+REAL second()
+{
struct rusage ru;
REAL t ;
-void getrusage();
-
getrusage(RUSAGE_SELF,&ru) ;
t = (REAL) (ru.ru_utime.tv_sec+ru.ru_stime.tv_sec) +
CVSweb <webmaster@jp.NetBSD.org>