search_serial, a C++ code which searches integers between A and B for a value J such that F(J) = C.
For the particular example considered here, the solution will be F(1,674,924,981) = 45.
This program is intended as a starting point; both MPI and OpenMP can be used to make a parallel version.
The computer code and data files described and made available on this web page are distributed under the MIT license
search_serial is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a PYTHON version.
FFT_SERIAL, a C++ code which demonstrates the computation of a Fast Fourier Transform, and is intended as a starting point for developing a parallel version using OpenMP.
FIRE_SERIAL, a C++ code which simulates a forest fire over a rectangular array of trees, starting at a single random location. It is intended as a starting point for the development of a parallel version.
HEATED_PLATE, a C++ code which solves the steady state heat equation in a 2D rectangular region, and is intended as a starting point for implementing an OpenMP parallel version.
MD, a C++ code which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.
MXM_SERIAL, a C++ code which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.
POISSON_SERIAL, a C++ code which computes an approximate solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.
PRIME_SERIAL, a C++ code which counts the number of primes between 1 and N, intended as a starting point for the creation of a parallel version.
QUAD_SERIAL, a C++ code which approximates an integral using a quadrature rule, and is intended as a starting point for parallelization exercises.
SUBSET_SUM_SERIAL, a C++ code which seeks solutions of the subset sum problem, in which it is desired to find a subset of a set of integers which has a given sum; this version of the program is intended as a starting point for a parallel approach.