I take several complex problems/algorithms, such as the Sieve of Eratosthenes and Matrix Multiplication, and transform them into an efficient parallel java program. Then, I measure the performance, which is called speedup, by comparing the sequential version to the parallel version.
What you'll find is that the parallel version is often faster by a factor greater than 2. The comparing process is visualized using graphs, drawings, tables and output samples.
Key concepts:
- Thread programming in Java
- Cash friendliness
- Finding bottlenecks
- Using key components in java.util.concurrent
- Transforming a sequential algorithm into an efficient parallel algorithm
- Evaluating the effectiveness
- Working with concepts inside multi-core computers
All projects under this repository are solution to assignments given in the course Efficient Parallel Programming at University of Oslo.
Check out the course page for more info: https://www.uio.no/studier/emner/matnat/ifi/IN3030/
- Project Materials:
Each project contains a folder called materials. Inside this folder are assignment text, graphs, tables, outputs, and/or solution/report pdf, which contains instructions for running the program, in addition to other information. - Source code:
The source code is located inside the src directory.