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. The 2014 competition was judged by guest judges from NVIDIA, Google, and Citadel.
Winners
- Grand Prize: VecPy: Vectorizing Python for Concurrent SIMD Execution -- David Farrow
- 2nd place: Terracuda: A High-Level Lua API for GPU Parallelism -- Will Crichton and Patrick Pinkerton
- 3rd place: Random Forest Classification on an FPGA -- Vivek Krishnan
- 4th place: ISPC-Based Parallel KD-Tree Construction for Photon Mapping -- Xiao Li
- 5th place: Javascript Parallelization -- Jin Lee and Grant Skudlarek
- 6th place: Optimizing and Parallelizing HOG Computation -- Bram Wasti and Michael O'Farrell
- 7th place: Cachemulator: A Snooping-Based Coherent Parallel Cache Emulator -- Yuyang Guo and Isaac Lim
- 8th place: Parallel CPU Ray Tracer -- Abhishek Chugh and Chenxi Liu
Full Project List
Playing Around with Hardware
- Tegra K1 Power Analysis by Delvis Taveras
- Random Forest Classification on an FPGA by Vivek Krishnan
Simulating Cache Coherence
- Simulating Directory-Based Cache Coherence Protocols by Amna Alzeyera
- Cachemulator: A Snooping-Based Coherent Parallel Cache Emulator by Yuyang Guo and Isaac Lim
Parallel Languages, Runtimes, and APIs
- Javascript Parallelization by Jin Lee and Grant Skudlarek
- VecPy: Vectorizing Python for Concurrent SIMD Execution by David Farrow
- Terracuda: A High-Level Lua API for GPU Parallelism by Will Crichton and Patrick Pinkerton
- Creating an Experimental Parallel Data Store by Sroaj Sosothikul
- Distributed Key-Value Database Server of Raspberry Pis by Sean Klein and Xiaofan Li
- Elastic Parallel Execution Framework on Android by Austin Davis and Ronald Lai
- GPU Accelerated GraphLab by Yashas Kumar and Yash Patel
- CUDA-DB by Tom Chittenden
- Parallel Implementation of the Sequence Library from 15-210 in Poly/ML by Andrew Smith and David Rayson
- Smart pthread by Kevin Prewitt and Steven Zhang
- Parallel Malloc by Taegyun Kim and Sang Jin Han
- Symmetric Multiprocessing for DerpOS by Alex Lam and Anita Zhang
- Speeding up Error-Correcting File Systems with GPU by Ruoyu Li
- Trading Platform Server by Yinghao Wang
Concurrent Data Structures
- Unlocking Potential: An Eye-Opening Exploration of Non-Blocking Linked Lists by David Cummings and Stephen Bly
- Fine-Grain Lock Experiments with B-Trees by Charlie Swanson
Crypto-Currencies
- Optimization and Analysis of Memory-Hard Bit Coin Mining by Anbang Zhao and Hefu Chai
- Rusty Coin: Riecoin Miner by Allie Wood and Tom Shen
- Building a Fast Riecoin Miner by Yunsheng Cao and Yetian Xia
- Parallel Prime Cluster Search by Tianyi Huang
Graphics, Image Processing, and Computer Vision
- ISPC-Based Parallel KD-Tree Construction for Photon Mapping by Xiao Li
- Parallel CPU Ray Tracer by Abhishek Chugh and Chenxi Liu
- Parallel Style Transfer by Jason Israel and Michael Kamm
- Parallel Image Plate Colorization by Mike Wang and Norbert Chu
- Image Duplicate Search by Jing Huang and Boya Yang
- Implementing Optical Flow in Halide by Dev Shah and Haopeng Wang
- Parallel GPU Implementation of Catmull-Clark Subdivision by Sally Gao and Arjun Hans
- Parallel Feature Detection on an ARM processor by Tom Zhang and Stephanie Luck
- Optimizing and Parallelizing Histogram of Oriented Gradients Computation by Bram Wasti and Michael O'Farrell
Particle-Based Simulation
- Meatballs - Smoothed Particle Hydodynamic Simulator and Renderer by Tom Klein and Jennine Nash
- Parallel N-body Simulator by Ji Hye Lee and Bryan Tan
- Comparison of a GPU-suited brute-force approach versus the irregular Barnes-Hut Algorithm for N-Body Simulations by Terrence Wong and Pradeep Vikraman
Playing Games
- Parallel Shikaku Solver by Armando Aguileta and Woo Joong Kim
- Checkers AI by Andrew J Audibert and Jason H Harding
- Chess AI Parallelization by Alimpon Sinha
- Trobo (Tron AI) by Eric Wong and Jonathan Goldman
Teaching Parallelism
- Bringing Parallel Education to the Masses by John Retterer-Moore
More Fun Parallel Algorithms
- Parallel Random Forest by Ziyi Zhu and Jingyi Zeng
- Artificial Intelligence Applications of Graph Search Algorithms by Peter Wei and Sarah Chen
- Parallel Parking in Parallel: Non-Holonomic Motion Planning with Parallel RRT by Benjamin Choi and Wentao Liu
- Parallelization of Phylogenetic Algorithms by Maija Mednieks
- Parallel Minimum Spanning Tree by Michael Choquette
- Parallel Minimum Spanning Tree by Maryam Amini
- Parallel Approaches to Approximate String Matching by Cary Yang and Kevin Zhang
- Parellelization of Huffman Decoding by Aakash Sabharwal and Rokhini Prabhu
- Parallel Traveling Salesman Using Simulated Annealing by Yan Zhang and Junya Huang
- Simulation of RNA Viruses' Propagation in Real World Environments by Rikky Roy Koganti and Elena Feldman
Support and Contributions
The 2014 15-418/618 parallelism competition was made more fun thanks to prizes donated by NVIDIA, Intel, Qualcomm, Samsung, the Citadel Group, Google, Qualcomm, and Apple.