• SIMD Implementation
  • MPI Code Snippet

Parallel N-body

As part of the Concurrent and Parallel Module at Edinburgh Napier university I optimised the International Decryption and Encryption Algorithm (IDEA) and optimised my own solution to the n-body problem

For this coursework I pushed the limits of the hardware by researching and implementing different methods of parallelism, successfully implementing C++11 threads, SIMD (Single Instruction, Multi-Data), OpenMP, MPI (Message Passing Interface) and GPU shaders using DirectCompute and OpenCl.

Along side each individual implementation I also did a combination of MPI which made use of 16 machines in the Games Lab and combined this with SIMD, C++11 threads and the GPU programming to give a signifcant performance boost.

Project Details:

  • Visual Studio
  • C++11
  • DirectCompute Shaders & OpenCl
  • OpenMP
  • MPI
  • SIMD

Blog Post:
Blog post