Hari Sundar


CS 6230: Parallel Computing and High Performance Computing

Assignment 1

  1. Install C/C++ compilers and an MPI library (openmpi or mpich) on your laptop.

  2. Create account and get access to Tangent. Read the basic documentation for Tangent and familiarize yourself with the machine. We will cover compiling code using MPI and openmp as well as submitting jobs on Tangent in class, but it would be helpful if you already are familiar with these.

  3. Write a sequential C/C++ program to sort an array of values using Quicksort. Your code should follow the same interface as std::qsort,

    void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));

    You should submit a tarball containing your code, that includes a driver program that will test your implementation for at least the following datatype, int, long, float, double and a structure,

    typedef struct _Point {
    	double x;
    	double y;
    } Point; 

    The ordering for Point will be lexicographic, i.e., first compare y and if the y coordinates are equal, use x. Your submission should include a README file, describing how to compile, run and test the code. Ideally, these can be three shell scripts, build.sh, run.sh, and test.sh. If the scripts expect arguments, describe them in the README file.

Submit via canvas.