Two C programs for computing dot product that will run on any number of cores or computers using MPI. The two versions are: (a) point to point communication using MPI_Send() and MPI_Recv() and (b) collective communication using MPI_Scatter() and MPI_Gather().