Steepo / PI

Computing PI with GMP and MPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PI

In occasione del Pgreco day, con la quinta info1 dell’ITIS Magistri Cumacini, abbiamo deciso di calcolare il maggior numero possibile di decimali esatti di P Greco.

Ovviamente, non disponendo di computer per il calcolo intensivo, il progetto non ha come obiettivo quello di un record, ma, sotto l’aspetto didattico di esplorare i seguenti temi:

  • Approfondire i vari algoritmi per il calcolo di pgreco e confrontarli

  • Imparare l’utilizzo di librerie che consentono di utilizzare un numero illimitato di decimali

  • Realizzare i programmi di calcolo con differenti linguaggi e confrontare i tempi di esecuzione

  • Operare con differenti sistemi operativi, a parità di algoritmo e linguaggio, e confrontare i tempi di esecuzione

  • Installare ed utilizzare tools di calcolo parallelo

Questo al fine di meglio imparare a conoscere i Sistemi di elaborazione e gestire la complessità degli algoritmi.


Gli strumenti a disposizione utilizzati sono stati:

  • Un MacBook Pro Quad core i7 3.5 Gh

  • Un HP Dual Core Quad Thread i7 2.60 Ghz

  • Un MacBook Pro Dual Core i5 3.3 Ghz

  • Un ASUS Dual core Quad Thread i7 2.9 Ghz

I sistemi operativi:

  • Windows 10

  • OSX 10.12 Sierra

  • Linux Ubuntu 16.4

Le librerie:

  • GMP per l’utilizzo dei BigDecimal in C

  • BigDecimal per Java

I linguaggi:

  • Java

  • C

I compilatori:

  • Xcode

  • Gcc

  • MPI per la gestione del calcolo parallelo

  • JavaC


Gli algoritmi

  • Gauss Legendre

  • Bpp

  • “aghi”


Premesso che il miglior risultato è stato di più di 16 milioni di decimali in un tempo complessivo di circa un’ora e venti minuti, quindi neppure tanto disprezzabile, visto che il tempo non poteva essere più di tanto per non “friggere” le CPU che sono state costantemente monitorate durante l’esecuzione, prestazioni della ventola di raffreddamento comprese,

i risultati si riassumono nella tabella che segue:


PC

Java

C-MPI

1 Milioni

2 Milioni

4 Milioni

8 Milioni

16 Milioni

MacBook Pro Quad Core

5 minuti

15 minuti

45 minuti

23 minuti

1 ora e 40 minuti

MacBook Pro Dual Core

5 minuti

15 minuti

45 minuti

//

2 ore

HP

5 minuti

15 minuti

1 ora e 5 minuti

//

//

ASUS

6/7 minuti

22 minuti

//

//

//



Conclusioni

Gli studenti si sono affacciato per la prima volta nel mondo del calcolo intensivo e hanno cominciato a comprenderne le tematiche e a studiare soluzioni a fronte di algoritmi di complessità crescente.

Le architetture hardware e software (sistema operativo in particolare) sono state “sviscerate” al fine di trarre le maggiori prestazioni di calcolo.

Il lavoro ha appassionato gli studenti, che, oltre alle ore di laboratorio, hanno usato anche parecchio del loro tempo libero.

Nel complesso ci si è divertiti e misurati, su un tema specifico, col resto del mondo.

About

Computing PI with GMP and MPI

License:MIT License


Languages

Language:C 100.0%