2022-11-14 15:21:17 +00:00
# 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
2022-11-28 16:02:03 +00:00
$ cd ./atax
2022-11-14 15:21:17 +00:00
```
2. Eseguire il Makefile:
```console
2022-11-28 16:02:03 +00:00
$ make atax.elf
2022-11-14 15:21:17 +00:00
```
## Come debuggare e profilare
2022-11-28 16:02:03 +00:00
Ho configurato il [Makefile ](OpenMP/linear-algebra/kernels/atax/Makefile ) con un phony target che esegue il programma 25 volte e calcola il tempo di esecuzione medio:
2022-11-14 15:21:17 +00:00
2022-11-16 16:44:49 +00:00
1. Accedere alla cartella in cui è contenuto:
2022-11-14 15:21:17 +00:00
```console
2022-11-28 16:02:03 +00:00
$ cd ./atax
2022-11-14 15:21:17 +00:00
```
2022-11-16 16:44:49 +00:00
2. Eseguire il Makefile:
2022-11-14 15:21:17 +00:00
```console
2022-11-16 16:44:49 +00:00
$ make bench
2022-11-14 15:21:17 +00:00
```
2022-11-16 16:44:49 +00:00
> Nota: funziona solo su sistemi UNIX-like!
2022-12-06 14:39:11 +00:00
> Nota2: ricordarsi di fare module load cuda e assegnare poi il giusto path a nvcc (sia su .vscode/c_cpp_properties.json sia nel Makefile)