Parallel algorithm Parallel algorithm In computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can be executed a piece at a time on many different processing devices, and then combined together again at the end to get the correct result. Many parallel algorithms are executed concurrently – though in general concurrent algorithms are a distinct concept – and thus these concepts are often conflated, with which aspect of an algorithm is parallel and which is concurrent not being clearly distinguished. Further, non-parallel, non-concurrent algorithms are often referred to as "sequential algorithms", by contrast with concurrent
NAS Parallel Benchmarks serial versions of the benchmarks consistent with the parallel versions and defined a problem size "Class W" for small-memory systems. NPB 2.4 of 2002 offered a new MPI implementation and introduced another still larger problem size "Class D". It also augmented one benchmark with I/O-intensive subtypes. NPB 3 retained the MPI implementation from NPB 2 and came in more flavors, namely OpenMP, Java and High Performance Fortran. These new parallel implementations were derived from the serial codes in NPB 2.3 with additional optimizations. NPB 3.1 and NPB 3.2 added three more benchmarks, which, however, were not available across all implementations;