Skip to Content

Parallel Language Tests

Parallel programming languages and libraries have the potential of significantly increasing both the productivity of programmers and the performance of applications. To encourage the use of these programming languages, it is important that there be a broad selection of correctness and performance tests as well as exemplars of applications that can be used by application developers to learn best practices in the use of these languages. To date, there is no comprehensive collection of such codes. Example codes have been collected and developed and we are making them available as an open source resource. 

In addition to providing these open source tests and links to parallel codes at other web sites, we are interested in collecting and enhancing any examples of parallel tests or applications.

 

MPI

(http://www.mpi-forum.org/)

Argonne National Laboratory test collection - http://www-unix.mcs.anl.gov/mpi/mpi-test/tsuite.html

Graph 500 benchmark - http:/www.graph500.org/specifications

We developed an IO test that performs that reads/writes the same file using different MPI I/O routines - (io_test.c)

A tool that uses formal methods to analyze MPI programs  http://www.cs.utah.edu/formal_verification/ISP-release/

 

OpenMP

(http://www.openmp.org)

EPCC OpenMP Microbenchmarks - Tests overheads due to synchronization, loop scheduling and array operations. Both Fortran 90 and C versions of the microbenchmarks are available. - http://www.epcc.ed.ac.uk/research/openmpbench/

NAS Parallel Benchmarks - http://www.nas.nasa.gov/Software/NPB/

Omni OpenMP benchmarks - http://phase.hpcc.jp/Omni/benchmarks/NPB/

SPEC OpenMP Benchmark Suite - http://www.spec.org/omp/

Sphinx Microbenchmark Suite - https://computation.llnl.gov/casc/RTS_Report/sphinx.html

OpenMP Validation Suite - http://www2.cs.uh.edu/~openuh/download/register.shtml

 

UPC

 (http://upc.lbl.gov/)

Guts from GWU - http://threads.hpcl.gwu.edu/sites/guts

Iowa State Runtime Error Detection Testsuite - http://rted.public.iastate.edu/UPC/tests.html

Simultaneous Non overlapping update semantic test - (simupdate.tar.gz)

Other tests - Measures performance of the basic data transfer operations using explicit put/get operations as well as through shared pointer access - (bm.upc)

 

CAF

 (http://www.nag.co.uk/sc22wg5/)

Rice CAF compiler - Includes Blur kernel, FFT, Stream, HPCC RandomAccess, HPL as part of their code distribution http://caf.rice.edu/download.html

 

Hybrid Programming

MPI+UPC 

Basic Interoperabiltiy tests - The tests involve passing data from local part of UPC shared array  to MPI routines and vice versa from MPI local data to UPC ( mpi-upc-lib.c , upc-mpi-lib.c )

 

MPI+CAF

Basic Interoperability tests - The tests involve passing local data from Coarrays to MPI and vice versa from MPI local data to Coarrays. ( caf-mpi-lib.f90 , mpi-caf-lib.f90 )

MPI+OpenMP

Basic Interoperability tests - ( mpi-openmp.cpp , mpi-openmp.f90 )

 

OpenSHMEM   

(http://www.shmem.org/)