From cc23d7325447b6372c03c6172e4ac04469fb7659 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 16 Nov 2022 17:44:49 +0100 Subject: [PATCH] Update CONTRIBUTING with the `bench` target --- CONTRIBUTING.md | 55 +++++-------------------------------------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bb8f956..168d947 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,61 +18,16 @@ Per compilare il codice a noi assegnato, è necessario: ## Come debuggare e profilare -Ho configurato [CLion](https://www.jetbrains.com/clion/) con le istruzioni necessarie al debug e il profiling del programma. +Ho configurato il [Makefile](OpenMP/linear-algebra/kernels/atax/Makefile) con un phony target che esegue il programma 9 volte e calcola il tempo di esecuzione medio: -> (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: +1. Accedere alla cartella in cui è contenuto: ```console $ cd ./OpenMP/linear-algebra/kernels/atax ``` -4. Eseguire il Makefile: +2. Eseguire il Makefile: ```console - $ make clean all + $ make bench ``` -5. Abilitare `perf`: - ```console - $ module load perf/1.0 - ``` - -6. +> Nota: funziona solo su sistemi UNIX-like!