Course Projects

(due Mar 23, Apr 12)
These are possible topics, but you can choose your own project (not in this list) after discussing with the instructor.
Enter your choice in this google doc.

Number of students per team: Maximum 2 (you can work alone, but the amount of work expected from the project would be the same as that with two students)
Evaluation: In two phases (CP1, CP2), presentations and project demo on the due dates.

Topics

  1. Develop a domain specific language (domain could be machine learning algorithms, graph algorithms, circuits, etc.).
  2. Perform decremental pointer analysis.
  3. Incremental strongly connected components on GPU.
  4. Implement parallel awk.
  5. From the traversal trace of a data structure, find out if it is a list, tree, DAG or a general graph (start afresh or extend existing code).
  6. Machine learning to choose memory allocation strategy.
  7. Approximate static analysis with/without hashing.
  8. Approximate parallel shortest paths computation.
  9. Parallelize a graph algorithm in Pluto (OpenMP / MPI).
  10. Parallelize a graph algorithm in PPCG (CUDA).
  11. Write a new graph algorithm in Galois.
  12. Automatic datarace correction.
  13. Create a generator for large (n > 32 bits) RMAT graphs (see GTGraph).
  14. Enhance an existing implementation: PLDI 2015, OOPSLA 2014, or others.
  15. Education aids in .php (see former projects)
    1. Given a C program, compute and show the per-iteration forward/backward slice for a criteria.
    2. Given a C program containing for-loops, find set of inequations for checking different kinds of dependences (RAW, WAR, WAW), solve them and show graphically the accesses that bear dependences and their types.
    3. Given a C program, show its CFG and per-iteration information for live variables, available expressions, constant propagation, etc.
  16. Improve an analysis / transformation using profiling information.
    1. Dependence across loop iterations.
    2. Points-to information.
    3. Memory allocation.
  17. Your choice...

course home page