This repository contains solutions to the Computer Architecture assignments completed by me and my group partner during the Winter Semester 2023/2024 at FAU.
The assignments cover various topics in Computer Architecture. The tasks encompass benchmarking, vector sum, 2D Jacobi, Jacobi benchmarking, cache blocking methods, and more.
We will be regularly updating the repository with additional code solutions as new problems are assigned by the professor, providing a comprehensive resource for learning and reference.
Make sure you have the following tools installed before exploring the assignments:
- C Compiler (e.g., ICC, GCC)
- Make (Build tool)
- Python (for plotting graphs)
The repository is organized into folders corresponding to each assignment. Within each assignment folder, you will find the solution files, documentation, and any additional resources relevant to that specific task.
- Benchmarking: Explore performance evaluation techniques and methodologies.
- Vector Sum: Implement vector sum operations in C, and plotting of graphs obtained from benchmarks using Python.
- 2D Jacobi: Develop solutions for 2D Jacobi problems, addressing both theoretical concepts and practical implementations.
- Jacobi Benchmarking: Investigate and benchmark the performance of Jacobi-related algorithms.
- Cache Blocking Method: Study and apply cache blocking methods to enhance memory efficiency.
To get started, follow these steps:
- Clone the repository to your local machine.
- Navigate to the specific assignment folder.
- Follow the instructions in the assignment's README file for execution or further details.
Special thanks to our Tutors, Kenan Gündogan and Philipp Gündisch for assistance and feedback on the code.
If you are a fellow student or anyone interested in Computer Architecture, you can browse through the assignments and review the solutions. Additionally, you can provide feedback or suggest improvements by opening issues or submitting pull requests.
This repository is shared under the MIT License. Feel free to use, modify, or share the content in accordance with the terms of the license.
Happy coding!