This page lists project ideas submitted to date.
rating |
id |
idea |
|
42850-1 |
CUDA Exploration |
Doing something using CUDA(?) |
|
42850-2 |
Erlang/Rust Exploration |
Exploring either Erlang or Rust languages & areas of use |
|
42850-3 |
Parallel Monte Carlo Simulations |
Exploring modeling algorithms (possibly some that employ monte carlo techniques, or possibly markov chains/simulated annealing) |
|
42856-1 |
Parallel k-Means Clustering |
Implement a parallel version of the k-Means Clustering and apply it to a dataset. |
|
42856-2 |
Image/Audio GPU Compression |
Implement a compression algorithm that runs on the GPU. |
|
42856-3 |
Parallel Linear Solvers |
Implement a parallel algorithm that can solve linear systems. |
|
42861-1 |
Graphic Simulations with CUDA |
Use the GPU accelerated library CUDA to parallelize a process or algorithm pertaining to images. This could be simulation of some phenomenon or image editing. |
|
42861-2 |
Raspberry Pi Cluster |
Use two or more Raspberry Pi's to run a program and test its performance against a single Raspberry Pi. |
|
42865-1 |
Video Processing |
A short video will be divided up into frames. In each frame, the red, green and blue pixels will be tallied. If there is a 'significant' change in the distribution of rgb pixels in the screen, then we conclude that it is a transition between two shots in the video. Distribution could be done by dividing up the frame into rectangles based on the number of nodes or threads. |
|
42865-2 |
RSA Decryption |
Use a trial and error method to decrypt messages by using a public key to guess the private key, probably using much smaller primes than actually used. This could practically demonstrate the strength of RSA encryption. |
|
42865-3 |
Virtual Robot |
A server which will issue commands to a robot. Will use 6 nodes as 2 legs, 2 arms, 1 body and 1 head. Will communicate with all body parts simultaneously and make them perform actions as per user request. An action on a node may be just running a program or command on that node. Will keep the states of all parts in check. |
|
42868-1 |
Rust |
Learn about Rust in the context of the ways it can do parallel and distributed computing. |
|
42868-2 |
CUDA |
Learn about how CUDA works. |
|
42876-1 |
Exploring CUDA |
Using CUDA in the GPU machine or the link machine to do a project like image compression, or audio/video compression in using a parallel algorithm. |
|
42876-2 |
Parallel Linear Solver |
Solving linear problems using parallel computation, possibly using a newer parallel programming language like Go or framework like OpenCL. It could be something like solving DFS, BFS or travelling salesman problem. |
|
42876-3 |
Statistical Predicton using Parallel |
Using parallel programming to use statistical modeling and prediction such as K-means clustering with a large amount of train and test data. |
|
42877-1 |
Simulation of a Virus Spreading |
Create a simulation using parallelism to have different cells either infected or act as neutrophils/t-cells. Cells could be made up of arrays in different computers. Neutrophils have the task of stopping the virus from spreading. |
|
42877-2 |
Encryption |
Using openMP, create an encryption algorithm and have multiple machines communicate back and forth. where they have to communicate with each other to encrypt and decrypt any message sent. |
|
42922-1 |
Simplified RSA Breaking |
Use RSA to encrypt things (but with lower primes than any reasonable person would use in 2018) and use parallelism to brute-force into it as efficiently as possible. |
|
42922-2 |
Simplified OpenCV |
Image processing with CUDA, possibly on the GPU machine for increased speed. Make simple filters that take advantage of parallelism in GPU's. |
|
42922-3 |
Bigger Primes |
Extend the Sieve of Eratosthenes program to solve even bigger primes, and see if there's a way to do things even more efficiently (like how one lab asked us to not bother with multiples of 2 except 2 itself) |
|
42924-1 |
Applications Parallel Computing using Raspberry Pis |
Parallelize a program that has applications to the real world or to other fields using raspberry pis.
Options are: parallelized game system like Go or Chess, computer vision problems like object tracking, or problems like image similarity search |
|
42924-2 |
Parallelized Smith Waterman Algorithm |
Last semester during the Algorithms course, I worked with a group of people to create our own implementation of the Smith-Waterman Algorithm for DNA sequence alignment. I would be interested in taking that code and parallelizing it so that it could run on multiple threads, potentially also modifying the code so it conducts sequence database search. |
|
42927-1 |
Parallel Disability |
Determine the most convenient but still secure passwords for one handed indivudiuals |
|
42928-1 |
machine learning/neural networks |
parallelizing machine learning or neural networks to increase computational speeds |
|
42929-1 |
Concurrent LED |
We would produce a library capable of simultaneously running multiple LED animations without corrupting the Raspberry Pi. |
|
42929-2 |
Basic Text Editor |
A basic text editor capable of functions such as finding and removing text elements, made more efficient through parallel computing. |
|
42930-1 |
neural networks |
Write a machine learning program that uses MPI and/or OpenMP to compute data faster. It will use nuaral networks to make decisions on input such as pictures or text. |
|
42931-1 |
Parallel Disability Assistance |
Determine the most convenient but still secure passwords for one handed individuals, using Hadoop WMR! |
|
42931-2 |
Inaccurate Drug Targeting in Drug Design |
Exploring real applications of parallel computation in drug design - comparing properties of ligand binding affinity and protein structures. Effectively determining which proteins that are targeted will also affect other proteins. |
|
42932-1 |
Parallel Disability Assistance |
Determine the most convenient but still secure passwords for one handed individuals, using Hadoop WMR! |
|
42932-2 |
Inaccurate Drug Targeting in Drug Design |
Exploring real applications of parallel computation in drug design - comparing properties of ligand binding affinity and protein structures. Effectively determining which proteins that are targeted will also affect other proteins. |
|
42933-1 |
Rust |
Briefly explore the syntax of Rust and its semantics, diving deeper into the PDC-related topics such as Rust's safety features and guarantees. Create a working example of something that works. |
|
42933-2 |
Raft |
An exploration of the Raft consensus protocol, which is widely-used in clustering schemes like Docker Swarm and Etcd's sharing. Discuss the highlights: Leader Election + Log Replication, Membership Changes, Log Compaction, and possibly implement in C/C++ with basic Unix IPC. |
|
42935-1 |
LEDCoroutines |
Create a Kotlin library based off of the AnimatedLEDStrip library (created in C++ during Software Design in Spring 2018, ported to Kotlin at the beginning of the 2018-19 school year) allowing multiple animations to be run simultaneously without corrupting the Raspberry Pi image and without other negative effects. This would be done using the Kotlin Coroutines library, a Raspberry Pi 3 Model B and a strip of WS2812b Neopixel LEDs. |
|
42936-1 |
LED Expansion |
A process that runs multiple LED animations on separate sections of an LED strip, simultaneously. |
|
42936-2 |
LED's Plural |
Running Multiple LED Strips from the same program concurrently. |