Used cilk++ for Shared memory parallelism, and MPI for distributed memory paralellism