prime_mpi


prime_mpi, a C 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 code is mainly a starting point for investigations into parallelization.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

prime_mpi is available in a C version and a C++ version and a Fortran90 version and a Python version.

Related Data and codes:

prime_mpi_test

communicator_mpi, a C code which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.

heat_mpi, a C code which solves the 1D Time Dependent Heat Equation using MPI.

hello_mpi, a C code which prints out "Hello, world!" using the MPI parallel programming environment.

laplace_mpi, a C code which solves Laplace's equation on a rectangle, using MPI for parallel execution.

mpi_test, a C code which illustrates the use of the MPI application code interface for carrying out parallel computations in a distributed memory environment.

multitask_mpi, a C code which demonstrates how to "multitask", that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.

poisson_mpi, a C code which computes a solution to the Poisson equation in a rectangle, using the Jacobi iteration to solve the linear system, and MPI to carry out the Jacobi iteration in parallel.

prime_openmp, a C code which counts the number of primes between 1 and N, using OpenMP for parallel execution.

quad_mpi, a C code which approximates an integral using a quadrature rule, and carries out the computation in parallel using MPI.

random_mpi, a C 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 C 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 C 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 C code which searches integers between A and B for a value J such that F(J) = C, using MPI.

wave_mpi, a C code which uses finite differences and MPI to estimate a solution to the wave equation.

Reference:

  1. Eratosthenes,
    A Method For Finding Prime Numbers,
    Papyrus 487.

Source Code:


Last revised on 26 June 2020.