Disclaimer: The majority of the code in this repository was written on top of the infrastructure provided by the APD-UPB team. Be aware that some of this code is their intellectual property. Because of initial lack of skill using Git, I wasn't able to import their original commits. But I do encourage you to check their Github repo.
Created by gh-md-toc
This project aims to provide a improvements to the original Open CourseWare Parallel and Distributed Algorithms Laboratories taught at Politehnica University of Bucharest.
Here is the list of the improvements I brought (although not limited to):
- For POSIX labs:
- improved all checkers
- improved all Makefiles with more generic rules
- support for scalable build with the use of macro directives
- clangd configuration files
- READMEs
- bonuses like matrix multiplication with cache tiling
- Mergesort for any array and number of threds
- removed uses of global variables
- removed uses of unjustified signed variables instead of unsigned
- For Java labs:
- improved infrastructures (e.g. for (laboratories/lab-05))
- READMEs
- added a checker where none existed and was needed
- improved tests for Floyd's Alg.
- coding style (
final
attribute added where possible, ...)
For more information or a syllabus check out the course description page here . This course was taught by Ciprian Mihai Dobre.
If you are interested in a IDE, I would recommend VSCodium. Install the following extensions:
clangd
: for both POSIX and MPI labsLanguage Support for Java(TM) by Red Hat
+Debugger for Java
: for Java labs- (optional)
Native Debug
: for GDB debugging
Before doing so I recommend you install some requirements globally. If you are using a Debian-based system (tested on Debian 11), run these commands:
sudo apt install clangd
sudo apt install default-jdk
# optional, for I prefer gcc
# sudo apt install clang
# optional, if you want to see Java libraries implementation
# dependis on what version of openjdk, was installed in a previous step
# sudo apt install openjdk-11-source
Note: (Optional) If you took my advice and installed VSCodium, you'll may need to enable the VSCode Marketplace using these instructions .
Open the directory you want to test. You'll either have a Makefile
or Java
sources that could be run with the Debugger for Java
extension.
All folders (I remember), include a README
for further clarification.
Check out Florin's bonus repositories for this course:
I would like to thank our teaching assistant Florin-Răzvan Mihalache for all his support, this repository would not be possible without him.