-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Goldman, Adam <[email protected]>
- Loading branch information
0 parents
commit d3ca419
Showing
876 changed files
with
239,564 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
#include "mpi.h" | ||
#include <stdio.h> | ||
#include <unistd.h> | ||
#include <stdlib.h> | ||
#include <math.h> | ||
#include <assert.h> | ||
|
||
|
||
#define MYBUFSIZE (4*1024*1028) | ||
#define MAX_REQ_NUM 100000 | ||
|
||
char s_buf1[MYBUFSIZE]; | ||
char r_buf1[MYBUFSIZE]; | ||
|
||
|
||
MPI_Request request[MAX_REQ_NUM]; | ||
MPI_Status my_stat[MAX_REQ_NUM]; | ||
|
||
int main(int argc,char *argv[]) | ||
{ | ||
int myid, numprocs, i; | ||
int size, loop, page_size; | ||
char *s_buf, *r_buf; | ||
double t_start=0.0, t_end=0.0, t=0.0; | ||
|
||
|
||
MPI_Init(&argc,&argv); | ||
MPI_Comm_size(MPI_COMM_WORLD,&numprocs); | ||
MPI_Comm_rank(MPI_COMM_WORLD,&myid); | ||
|
||
if ( argc < 3 ) { | ||
fprintf(stderr, "Usage: bw loop msg_size\n"); | ||
MPI_Finalize(); | ||
return 0; | ||
} | ||
size=atoi(argv[2]); | ||
loop = atoi(argv[1]); | ||
|
||
if(size > MYBUFSIZE){ | ||
fprintf(stderr, "Maximum message size is %d\n",MYBUFSIZE); | ||
MPI_Finalize(); | ||
return 0; | ||
} | ||
|
||
if(loop > MAX_REQ_NUM){ | ||
fprintf(stderr, "Maximum number of iterations is %d\n",MAX_REQ_NUM); | ||
MPI_Finalize(); | ||
return 0; | ||
} | ||
|
||
page_size = getpagesize(); | ||
|
||
s_buf = (char*)(((unsigned long)s_buf1 + (page_size -1))/page_size * page_size); | ||
r_buf = (char*)(((unsigned long)r_buf1 + (page_size -1))/page_size * page_size); | ||
|
||
assert( (s_buf != NULL) && (r_buf != NULL) ); | ||
|
||
for ( i=0; i<size; i++ ){ | ||
s_buf[i]='a'; | ||
r_buf[i]='b'; | ||
} | ||
|
||
/*warmup */ | ||
if (myid == 0) | ||
{ | ||
for ( i=0; i< loop; i++ ) { | ||
MPI_Isend(s_buf, size, MPI_CHAR, 1, 100, MPI_COMM_WORLD, request+i); | ||
} | ||
|
||
MPI_Waitall(loop, request, my_stat); | ||
MPI_Recv(r_buf, 4, MPI_CHAR, 1, 101, MPI_COMM_WORLD, &my_stat[0]); | ||
|
||
}else{ | ||
for ( i=0; i< loop; i++ ) { | ||
MPI_Irecv(r_buf, size, MPI_CHAR, 0, 100, MPI_COMM_WORLD, request+i); | ||
} | ||
MPI_Waitall(loop, request, my_stat); | ||
MPI_Send(s_buf, 4, MPI_CHAR, 0, 101, MPI_COMM_WORLD); | ||
} | ||
|
||
MPI_Barrier(MPI_COMM_WORLD); | ||
|
||
if (myid == 0) | ||
{ | ||
t_start=MPI_Wtime(); | ||
for ( i=0; i< loop; i++ ) { | ||
MPI_Isend(s_buf, size, MPI_CHAR, 1, 100, MPI_COMM_WORLD, request+i); | ||
} | ||
|
||
MPI_Waitall(loop, request, my_stat); | ||
MPI_Recv(r_buf, 4, MPI_CHAR, 1, 101, MPI_COMM_WORLD, &my_stat[0]); | ||
|
||
t_end=MPI_Wtime(); | ||
t = t_end - t_start; | ||
|
||
}else{ | ||
for ( i=0; i< loop; i++ ) { | ||
MPI_Irecv(r_buf, size, MPI_CHAR, 0, 100, MPI_COMM_WORLD, request+i); | ||
} | ||
MPI_Waitall(loop, request, my_stat); | ||
MPI_Send(s_buf, 4, MPI_CHAR, 0, 101, MPI_COMM_WORLD); | ||
} | ||
|
||
if ( myid == 0 ) { | ||
double tmp; | ||
tmp = ((size*1.0)/1.0e6)*loop; | ||
fprintf(stdout,"%d\t%f\n", size, tmp/t); | ||
} | ||
|
||
MPI_Barrier(MPI_COMM_WORLD); | ||
MPI_Finalize(); | ||
return 0; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Antoine Petitet | ||
Clint Whaley [email protected] | ||
Jack Dongarra [email protected] | ||
Andy Cleary | ||
Piotr Luszczek [email protected] | ||
Julien Langou [email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
============================================================== | ||
List of the known problems with the HPL software | ||
|
||
Current as of release HPL - 2.3 - December 2, 2018 | ||
============================================================== | ||
|
||
============================================================== | ||
|
||
============================================================== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
====================================================================== | ||
-- High Performance Computing Linpack Benchmark (HPL) | ||
HPL - 2.3 - December 2, 2018 | ||
Antoine P. Petitet | ||
University of Tennessee, Knoxville | ||
Innovative Computing Laboratory | ||
(C) Copyright 2000-2008 All Rights Reserved | ||
|
||
-- Copyright notice and Licensing terms: | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions | ||
are met: | ||
|
||
1. Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
|
||
2. Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions, and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution. | ||
|
||
3. All advertising materials mentioning features or use of this | ||
software must display the following acknowledgement: | ||
This product includes software developed at the University of | ||
Tennessee, Knoxville, Innovative Computing Laboratory. | ||
|
||
4. The name of the University, the name of the Laboratory, or the | ||
names of its contributors may not be used to endorse or promote | ||
products derived from this software without specific written | ||
permission. | ||
|
||
-- Disclaimer: | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY | ||
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
====================================================================== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
====================================================================== | ||
-- High Performance Computing Linpack Benchmark (HPL) | ||
HPL - 2.3 - December 2, 2018 | ||
Antoine P. Petitet | ||
University of Tennessee, Knoxville | ||
Innovative Computing Laboratory | ||
(C) Copyright 2000-2008 All Rights Reserved | ||
|
||
-- Copyright notice and Licensing terms: | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions | ||
are met: | ||
|
||
1. Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
|
||
2. Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions, and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution. | ||
|
||
3. All advertising materials mentioning features or use of this | ||
software must display the following acknowledgement: | ||
This product includes software developed at the University of | ||
Tennessee, Knoxville, Innovative Computing Laboratory. | ||
|
||
4. The name of the University, the name of the Laboratory, or the | ||
names of its contributors may not be used to endorse or promote | ||
products derived from this software without specific written | ||
permission. | ||
|
||
-- Disclaimer: | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY | ||
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
====================================================================== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
============================================================== | ||
High Performance Computing Linpack Benchmark (HPL) | ||
HPL - 2.3 - December 2, 2018 | ||
============================================================== | ||
|
||
Done list in version 1.0b, December 15th, 2004 | ||
- Fixed problem with 32-bit integer overflow. | ||
Thanks to John Baron. | ||
|
||
Done list in version 1.0a, January 1st, 2004 | ||
- Added Row- or Column-major process mapping in data file | ||
- Fixed compilation error for gcc 3.3 in walltime. | ||
- Fixed building problems on the T3E; | ||
Thanks to Edward Anderson. | ||
|
||
============================================================== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
============================================================== | ||
High Performance Computing Linpack Benchmark (HPL) | ||
HPL - 2.3 - December 2, 2018 | ||
============================================================== | ||
|
||
History | ||
|
||
- 09/09/00 Public release of Version 1.0 | ||
|
||
- 09/27/00 A couple of mistakes in the VSIPL port have been | ||
corrected. The tar file as well as the web site were updated | ||
on September 27th, 2000. Note that these problems were not | ||
affecting the BLAS version of the software in any way. | ||
|
||
- 01/01/04 Version 1.0a | ||
The MPI process grid numbering scheme is now an run-time | ||
option. | ||
The inlined assembly timer routine that caused the compila- | ||
tion to fail when using gcc version 3.3 and above has been | ||
removed from the package. | ||
Various building problems on the T3E have been fixed; Thanks | ||
to Edward Anderson. | ||
|
||
- 15/12/04 Version 1.0b | ||
Weakness of the pseudo-random matrix generator found for pro- | ||
blem sizes being power of twos and larger than 2^15; Thanks | ||
to Gregory Bauer. This problem has not been fixed. It is thus | ||
currently recommended to HPL users willing to test matrices | ||
of size larger than 2^15 to not use power twos. | ||
|
||
When the matrix size is such that one needs > 16 GB per MPI | ||
rank, the intermediate calculation (mat.ld+1) * mat.nq in | ||
HPL_pdtest.c ends up overflowing because it is done using | ||
32-bit arithmetic. This issue has been fixed by typecasting | ||
to size_t; Thanks to John Baron. | ||
|
||
- 09/10/08 Version 2.0 | ||
|
||
Piotr Luszczek changed to 64-bit RNG, modified files: | ||
-- [M] include/hpl_matgen.h | ||
-- [M] testing/matgen/HPL_ladd.c | ||
-- [M] testing/matgen/HPL_lmul.c | ||
-- [M] testing/matgen/HPL_rand.c | ||
-- [M] testing/ptest/HPL_pdinfo.c | ||
|
||
For a motivation for the change, see: | ||
Dongarra and Langou, ``The Problem with the Linpack | ||
Benchmark Matrix Generator'', LAWN 206, June 2008. | ||
|
||
-- [M] testing/ptest/HPL_pdtest.c -- | ||
|
||
Julien Langou changed the test for correctness from | ||
||Ax-b||_oo / ( eps * ||A||_1 * N ) | ||
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) | ||
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo * N ) | ||
to the normwise backward error | ||
|| r ||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N ) | ||
See: | ||
Nicholas J. Higham, ``Accuracy and Stability of Numerical Algorithms'', | ||
Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, | ||
Second Edition, pages = xxx+680, ISBN = 0-89871-521-0, 2002. | ||
|
||
Note that in our case || b ||_oo is almost for sure | ||
1/2, we compute it anyway. | ||
|
||
- 10/26/2012 Version 2.1 | ||
|
||
Piotr Luszczek introduced exact time stamping for HPL_pdgesv(): | ||
-- [M] dist/include/hpl_misc.h | ||
-- [M] dist/testing/ptest/HPL_pdtest.c | ||
|
||
Piotr Luszczek fixed out-of-bounds access in data spreading functions | ||
and exact time stamping for HPL_pdgesv(): | ||
-- [M] dist/src/pgesv/HPL_spreadN.c | ||
-- [M] dist/src/pgesv/HPL_spreadT.c | ||
Thanks to Stephen Whalen from Cray. | ||
|
||
- 02/24/2016 Version 2.2 | ||
|
||
Piotr Luszczek added continuous reporting of factorization progress | ||
submitted by Intel and make scripts that uses Intel software tools and | ||
libraries and their Apple's Mac OS X equivalents. | ||
|
||
- 12/02/2018 Version 2.3 | ||
|
||
Piotr Luszczek removed deprecated MPI functions that are no longer | ||
supported in some MPI implementations (for example Open MPI 4.0) and | ||
replaced them with | ||
modern equivalents in HPL_packL(): | ||
-- [M] src/comm/HPL_packL.c | ||
|
||
Piotr Luszczek added one digit to the display of performance result | ||
and changed display of scaled residual to scientific notation with | ||
extra digits in HPL_pdtest(): | ||
-- [M] testing/ptest/HPL_pdtest.c | ||
|
||
Piotr Luszczek added support for Autotools configuration packages | ||
autoconf and automake: | ||
-- [A] Makefile.am | ||
-- [A] configure.ac | ||
-- [A] acinclude.m4 | ||
-- [A] src/Makefile.am | ||
-- [A] testing/Makefile.am |
Oops, something went wrong.