The CMU 15-418/618 Parallelism Competition gives students the opportunity to win fame, glory, and excellent prizes! It also provides students the chance to perform extended investigations of a parallel programming program or a parallel system design problem of their choosing.
Watch the 20 finalist presentations here!
Competition Winners
- Grand Prize: CubeRover by Udbhav Prasad and Nikitha Poddatur
- 2nd place: DPSVM: Distributed, Parallel Support Vector Machines by Krishna Aditya Gabbita and Siddharth Shah
- 3rd place: cuSpark: a Functional Data Processing Framework on GPU by Ming Fang and Muyang Yao
- 4th place: CudaPy by Oguz Ulgen and Cosku Acay
- 5th place: Harris Corner Detector on FPGA by Jared Choi and Rohit Banerjee
Full Project List
Parallel Programming Frameworks and APIs
- Lambda++: Functional Sequence Library in C++ by Ananya Kumar and Jake Zimmerman
- QuickVec C++ by Matthew Kellogg
- FJava: Fork Join for Java by Iosef Kaver Oreamuno and Ankit Agarwal
- cuSpark: a Functional Data Processing Framework on GPU by Ming Fang and Muyang Yao
- Blade: a Swift Library for iOS GPU Computation Built on the Metal Framework by Bofei Zhu and Huiwen Zhang
- ISPC Performance Monitor for Dummies by Kevin Ku and Stephen Choi
Language Extensions (a.k.a. Parallelizing Part of Python)
Playing Around with FPGAs
- Harris Corner Detector on FPGA by Jared Choi and Rohit Banerjee
- Neural Hardware: Neural Networks on FPGA by Darrin Willis and Bohan Li
Databases
- yDB: A High-Performance and Scalable In-Memory Database Based on RTM by Zhiyuan Yang and Zhizhou Yang
Simulating Cache Coherence
- Simulating Snooping-Based Cache Coherence Protocols by Vishnu Razdan and Zhaodong Zheng
- Coherence Cop: A Multiprocessor Split-Transaction Bus Arbitration Simulator by Karima Ma
Load Balancing Redux
- Choosing the Right Worker: Load Balancers by Elias Szabo-Wexler
- Efficient Web Server by Weiqing Yang and Haodong Liu
- Key-Value Database Load Balancer by Rui Wang
- Elastic Autoscaler in AWS by Rui Shen and Siyuan Zhou
Lock-Free Data Structures
- Lockless Data Structures on the RMC Memory Model by Sam Bowen and Josh Zimmerman
- Concurrent Lock-Free Binary Search Tree by Swapnil Pimpale and Romit Kudtarkar
- Randomized Spanning Tree Mazes by Bryce Summers and Brandon Lum
Physical Simulation
- GPU Accelerated Barnes-Hut N-Body Simulation by Evan Palmer and Russell Taylor
- Parallel Real-Time Fluid Simulation by Vio Zhu
- Fast Cloth Simulation with CUDA Acceleration by Ian Heath
Graphics and Image/Video/Audio Processing
- Conduit: Efficient Video Compression for Live Virtual-reality Streaming by Gregory Rose and Aakash Patel
- Parallel Seam Carving by Aditya Bist and Vinay Palakkode
- Parallel Image Evolution by Matthew Mercedes
- Rayvon: A Beam-chasing Raycaster for VR by Felipe Gomez-Frittelli
- Raytracing on Latedays by Thomas Esker
- Parallel BVH Construction on a CPU by Brian Fischer and Ian Huang
- Adaptive Assignment for Real-Time Raytracing by Jacob Slone and Paul Aluri
- GPU Raytracer with Optimized Parallel BVH by An Wu and Hing On Miu
- CPU vs. GPU Ray-Tracer Performance Analysis by Anand Pattabiraman
- Parallel Implementation of a Molecular Surface Visualizer by Kedar Amladi and Yue Li
- CUDABPM by Aashish Sinha and Akul Penugonda
Computer Vision and Object Recognition
- Security Camera Counter by Solon Mao and Sarah Tan
- CubeRover by Udbhav Prasad and Nikitha Poddatur
- Parallel Rendering of Multiple Depth Images by Naman Jain and Vinay Venkatesh
- 3D Tracking Through 2D Image Frames by Matthew Sebek
Machine Learning and Neural Networks
- Functional Neural Network Evaluation in Halide by Philip Massey and Arjun Kar
- Espresso: Speeding up and Debittering Caffe by Adding Halide by Jeffrey Zhang and Jeff Chen
- Xeon-CafPhi: Caffe deep learning framework optimized for Xeon Phi and CPU by Rohith Jagannathan and Dhruv Saksena
- NeuroPhi: A Neural Network Framework for Intel's Xeon Phi Co-processor by Danielle Rager and Markus Woodson
- Training Deep LSTM with Multi-Core CPU by Zihang Dai
- DPSVM: Distributed, Parallel Support Vector Machines by Krishna Aditya Gabbita and Siddharth Shah
- Hogwild Child by Ryan Flood and William Wood
- GPU Unsupervised Learning by Yada Zhai
- Parellelization of Gradient Boosting Decision Trees by Zhanpeng Fang
- Parallelizing Neural Network Training by Chen Liu
- Parallel Clustering by Fan Yang et al.
- Parallel Alternating Least Squares for Large-Scale Recommendation by Yi Cheng and How Jing
Matrix Operations
- Matrix Inverse in Thunder by Richard Hofer and Owen Kahn
- CUDA Factor: A Library of Matrix Factorization Routines by Harshavardhan Pandit and Venkata Ravi Bandlamudi
Computing on Graphs
- Large Scale Graph Mining on GPU by Han Zhou and Shannon Williams
- Parallel Triangle Counting in MPI by David Wise and Jason Li
- Parallel Eigensolver for Graph Spectral Analysis on GPU by Heran Lin and Yimin Liu
- Parallel Maximum Flow: with Application to Airline Scheduling by Samuel Cedarbaum and Anton Pleshakov
- Parallel Betweeness Centrality on the GPU by Xiaoxiang Wu and Jiaduo He
- Parallel Use of Fibonacci Heaps to Find Minimum Spanning Trees by Michael Harris
- Project TACO: Traveling Antsmen Colony Optimization by Ivan Wang and Carl Lin
Playing Games
- Parallel Pic-a-Pix by Marjorie Carlson
- PVSplit: Parallelizing a Minimax Chess Solver by Adam Kavka
- Parallel AI for Gomoku and other m,n,k games by Andrew Zeng
- Parallel Sudoku Solver by Kevin Kuan
- Parallel, Scalable Chess AI by Robert Carlson
- NotAnotherChessBot by Dmitry Ivanyuk and Ahmed Shalaby
More Fun Algorithms
- Traveling Salesman by Shikhara Nalla and Corentin Cos
- Parallel SAT Solver by Byeong Chan Park and Samarth Mittal
- Parallel Register Allocation for Compilers by Angela Zhang and Jordan Zink
- Parallel LP by Tsutomu Okano and Javier Vazquez-Trejo
- Parallel R-Tree on GPU by Guanjie Chen
- Parallel CKY Algorithm for Natural Language Parsing by Omar Rahman
- Parallelizing Riecoin Mining with Fast Prime Cluster Searching by Laine Herron and Elan Rosenfeld
- Analysis of Different Axes of Parallelism in Genetic Algorithms by Alex Maeda and Ramsey Natour
- Parallelizing A-Star for a Flood-It Solver
Support and Contributions
The 2015 15-418/618 parallelism competition was made more fun thanks to prizes donated by NVIDIA, Intel, AMD, Qualcomm, Oculus, and Dropbox.