1
Fork 0
mirror of https://github.com/Steffo99/unimore-hpc-assignments.git synced 2025-02-16 17:13:57 +00:00

Create contributors' documentation

This commit is contained in:
Steffo 2022-11-14 16:21:17 +01:00
parent 975cdc1360
commit f09170a23e
Signed by: steffo
GPG key ID: 6965406171929D01
4 changed files with 96 additions and 0 deletions

BIN
.media/debug.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
.media/profile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

78
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,78 @@
# Come riprodurre i risultati
Perchè tutto il team possa collaborare al progetto, è importante che tutti sappiano come abbiamo fatto a ottenere un certo risultato.
## Come compilare
Per compilare il codice a noi assegnato, è necessario:
1. Accedere alla cartella in cui è contenuto:
```console
$ cd ./OpenMP/linear-algebra/kernels/atax
```
2. Eseguire il Makefile:
```console
$ make clean all
```
## Come debuggare e profilare
Ho configurato [CLion](https://www.jetbrains.com/clion/) con le istruzioni necessarie al debug e il profiling del programma.
> (Essendo studenti dell'Unimore, abbiamo diritto a una licenza gratuita, che potete ottenere attraverso il [GitHub Student Pack](https://education.github.com/pack).)
### Debug
Per effettuare il debug del codice, è necessario selezionare la runConfiguration `atax_acc` e cliccare il pulsante "Debug" con l'insetto verde:
![La posizione del tasto "Debug" nell'interfaccia di CLion.](.media/debug.png)
### Profiling locale
Per effettuare il profiling del codice, è necessario selezionare la runConfiguration `atax_acc` e cliccare il pulsante "Profile" con l'orologio e il play verde:
![La posizione del tasto "Profile" nell'interfaccia di CLion.](.media/profile.png)
Di default, CLion è configurato per usare `perf` per profilare: è quindi necessario che sia installato e configurato sul vostro sistema!
### Profiling remoto
Per effettuare il profiling remoto, è necessario:
1. Accedere ad un Nano fornito da Unimore:
```console
$ # Per istruzioni complete, usa le informazioni fornite nelle dispense o nella chat Matrix del corso!
$ ssh hpc-nano9
```
2. Clonare o aggiornare questo repository:
* Clonare il repository da zero:
```console
$ git clone https://github.com/Steffo99/unimore-hpc-1.git
$ cd ./unimore-hpc-1
```
* Aggiornare un repository già esistente:
```console
$ cd ./unimore-hpc-1
$ git pull
```
3. Accedere alla cartella in cui è contenuta l'applicazione assegnata:
```console
$ cd ./OpenMP/linear-algebra/kernels/atax
```
4. Eseguire il Makefile:
```console
$ make clean all
```
5. Abilitare `perf`:
```console
$ module load perf/1.0
```
6. <!-- TODO -->

18
README.md Normal file
View file

@ -0,0 +1,18 @@
\[ Stefano Pigozzi + Caterina Gazzotti + Fabio Zanichelli | Tema OpenMP | Laboratorio High Performance Computing | Unimore \]
# Ottimizzazione di codice C con OpenMP
\[ [**Guida per il team**](CONTRIBUTING.md) \]
> ### Assignment #1
>
> Every team is called to optimize (parallellize) the execution time of the assigned applications on multi-processor system.
>
> #### Expected outcomes
>
> * Repository of the code (github/gitlab is ok, or .zip )
> * Oral presentation (5 min + 5 min Q&A) of your work
>
> #### Assigned application
>
> Group 3: `OpenMP/linear-algebra/kernels/atax`