====== Calcolo Seriale ====== ===== Esempi di programmi in C ===== ==== cpi ==== === Calcolo di PiGreco per integrazione numerica=== {{roberto.alfieri:pub:pigreco1.png?500|}} {{ roberto.alfieri:pub:pigreco2.png?400|}} Per il calcolo dell'integrale utilizziamo il [[ https://nsa.readthedocs.io/en/latest/03_integrali/docs/source/09_int_numerici.html | metodo dei rettangoli ]] Vedi: http://didattica-linux.unipr.it/~roberto.alfieri@unipr.it/matdid/HPC/serial/cpi2/ Programma cpi2.c Questa versione include la getopt per l'input dei parametri e gettimeofday() per determinare i tempi Compilazione: gcc cpi2.c -o cpi2 -lm -O2 Run: cpi2_scaling.bash Output: CPI2_scaling_1.dat, CPI2_scaling_2.dat Plot: cpi2_scaling.py Output: cpi2_scaling.png ==Calcolo di PiGreco con Metodo Montecarlo== https://computing.llnl.gov/tutorials/parallel_comp/#ExamplesPI [[ http://didattica-linux.unipr.it/~roberto.alfieri@unipr.it/matdid/HPC/serial/cpi_mc/ | cpi_mc.c ]] ==== Altri esempi ==== Genera numeri primi * per "forza bruta": primi.c * Crivello di Eratostene : crivello.cpp Vedi: didattica-linux.unipr.it Moltiplicazione di Matrici: mm.cpp Vedi: http://didattica-linux.unipr.it/~roberto.alfieri@unipr.it/matdid/HPC/serial/mm/ {{:roberto.alfieri:pub:prodottomatrici_1_.png?200|}} **[[ wp>Mandelbrot_set ]]** - [[http://www.physics.emory.edu/faculty/weeks//software/mand.html | mandel.c ]] - [[ http://services.chm.unipg.it/ojs/index.php/virtlcomm/article/view/112/108 | MPI]] Determina le prestazioni di trasferimento dati in un processo: memcpy.c Vedi http://didattica-linux.unipr.it/~roberto.alfieri@unipr.it/matdid/HPC/serial/memperf/