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.




Argonne National Laboratory test collection -

Graph 500 benchmark - http:/

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




EPCC OpenMP Microbenchmarks - Tests overheads due to synchronization, loop scheduling and array operations. Both Fortran 90 and C versions of the microbenchmarks are available. -

NAS Parallel Benchmarks -

Omni OpenMP benchmarks -

SPEC OpenMP Benchmark Suite -

Sphinx Microbenchmark Suite -

OpenMP Validation Suite -




Guts from GWU -

Iowa State Runtime Error Detection Testsuite -

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)




Rice CAF compiler - Includes Blur kernel, FFT, Stream, HPCC RandomAccess, HPL as part of their code distribution


Hybrid Programming


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 )



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 )


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