Skip to content

Commit

Permalink
Release IEFS 11.0.0.0.163
Browse files Browse the repository at this point in the history
Signed-off-by: Goldman, Adam <[email protected]>
  • Loading branch information
acgoldma committed Jun 24, 2021
0 parents commit d3ca419
Show file tree
Hide file tree
Showing 876 changed files with 239,564 additions and 0 deletions.
114 changes: 114 additions & 0 deletions MpiApps/apps/bandwidth/bw.c
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;
}

6 changes: 6 additions & 0 deletions MpiApps/apps/hpl-2.3/AUTHORS
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]
9 changes: 9 additions & 0 deletions MpiApps/apps/hpl-2.3/BUGS
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
==============================================================

==============================================================

==============================================================
45 changes: 45 additions & 0 deletions MpiApps/apps/hpl-2.3/COPYING
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.
======================================================================
45 changes: 45 additions & 0 deletions MpiApps/apps/hpl-2.3/COPYRIGHT
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.
======================================================================
16 changes: 16 additions & 0 deletions MpiApps/apps/hpl-2.3/ChangeLog
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.

==============================================================
103 changes: 103 additions & 0 deletions MpiApps/apps/hpl-2.3/HISTORY
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
Loading

0 comments on commit d3ca419

Please sign in to comment.