Checkpoint
Work completed so far
Things we have done so far:
- We have a primary test suite in place.
- We have nailed down the pseudo-code for the parallel algorithms we want to use. We will be using a Karp-Siper Algorithm. The new paper we are consulting is here.
- We have the initial code of reading in xyz files and turning them into a graph representation.
- We have the initial Json representation of constraints in place. This will help us later with the web app. Using the jsoncpp framework for doing so.
- We a bunch of testing molecules input files to test speedup.
So far we have made decent progress but are behind schedule. The new schedule is below. We will try to finish all the goals we stated in the initial proposal if everything goes to plan according to the new schedule. However, the only concern we have is of completing the webapp in time for the demo. If we dont, we will definitely have graphs showing the performance gains we achieved. As we stated in our proposal, the website is the stretch goal. We are running a bit behind schedule because it took us some time to get the best algorithm in terms of implementation complexities and performance gains. Furthermore, some of the initial structuring of the code took longer than expected.
Schedule for the coming weeks
Date | Objective | Member |
---|---|---|
Friday, April 22 | Narain - Complete python dummy implementation of parallel matching algorithm. Test it thoroughly on random graphs. If time, write C++ version. Sharang - Implement atom info and adjacency seq data structures. Implement function to read input data, determine edges, and store data in appropriate data structures | Both |
Thursday, April 28 | Narain, Sharang - Complete C++ implementation of parallel matching algorithm. Integrate into existing code. Begin testing on Xeon Phi to optimize. | Both |
Sunday, May 1 | Narain, Sharang - Finish testing and optimizations. | Both |
Wed, May 7 | Narain - Build a simple front-end for the webapp. Sharang - Build the back-end in Django. Test both parts. | Both |
Parallelism Competition
We will be demoing the web application built around our platform at the competition. We will feed some sample molecules (up to 1000's of atoms) and some sample proteins (up to 100,000's of thousands of atoms) and drawing the output molecules using the 3Dmol.js package in the browser. We will also have graphs of speedups obtained to illustrate the success of our project.