prime_mpi, a FORTRAN90 code which counts the number of primes between 1 and N, using MPI to carry out the calculation in parallel.
The algorithm is completely naive. For each integer I, it simply checks whether any smaller J evenly divides it. The total amount of work for a given N is thus roughly proportional to 1/2*N^2.
This program is mainly a starting point for investigations into parallelization.
The computer code and data files described and made available on this web page are distributed under the MIT license
prime_mpi is available in a C version and a C++ version and a FORTRAN90 version and a Python version.
COMMUNICATOR_MPI, a FORTRAN90 code which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.
HEAT_MPI, a FORTRAN90 code which solves the 1D Time Dependent Heat Equation using MPI.
HELLO_MPI, a FORTRAN90 code which prints out "Hello, world!" using the MPI parallel programming environment.
mpi_test, FORTRAN90 examples which illustrate the use of the MPI application code interface for carrying out parallel computations in a distributed memory environment.
PRIME_OPENMP, a FORTRAN90 code which counts the number of primes between 1 and N, using OpenMP for parallel execution.
PRIME_SERIAL, a FORTRAN90 code which counts the number of primes between 1 and N, intended as a starting point for the creation of a parallel version.
QUAD_MPI, a FORTRAN90 code which approximates an integral using a quadrature rule, and carries out the computation in parallel using MPI.
RANDOM_MPI, a FORTRAN90 code which demonstrates one way to generate the same sequence of random numbers for both sequential execution and parallel execution under MPI.
RING_MPI, a FORTRAN90 code which uses the MPI parallel programming environment, and measures the time necessary to copy a set of data around a ring of processes.
SATISFY_MPI, a FORTRAN90 code which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using MPI to carry out the calculation in parallel.
SEARCH_MPI, a FORTRAN90 code which searches integers between A and B for a value J such that F(J) = C, using MPI for parallel execution.
WAVE_MPI, a FORTRAN90 code which uses finite differences and MPI to estimate a solution to the wave equation.