OpenMP in MacOSX

Ciao a tutti!

Di recente mi è capitato di dover utilizzare OpenMP per la programmazione parallela, nel corso di Laboratorio di Fisica II.

Dato che uso MacOSX mi è sembrato naturale provare XCode 4. Ebbene, dopo innumerevoli tentativi di compilazione andati a vuoto ho cominciato una ricerca in rete.

Premetto che non sono riuscito ad integrare la compilazione all’interno di XCode, per intenderci il programma lo scrivete con XCode ma lo compilate da terminale; tuttavia ho raggiunto lo scopo con una versione di gcc compilata appositamente da Gaurav Khanna, un professore della “University of Massachussets”, che la distribuisce dal sito HPC Sourceforge.

Sul sito si legge che il compilatore è automatizzato per rendere al meglio nel calcolo vettoriale e parallelo, inoltre è disponibile anche una versione per Lion, l’ultimo OSX di Apple.

Per installarlo, una volta scaricato il pacchetto, si hanno due opzioni:

  1.  Si estrae il contenuto in una cartella qualsiasi (la propria cartella utente per esempio) e lo si esegue da li. Es.:
    /Users/riccardo/usr/local/bin/gcc -fopenmp main.c
  2.  Lo si estrae nella cartella /usr/local/bin, in questo modo sarà accessibile a tutti gli utenti e disponibile da terminale con un semplice:
    gcc -fopenmp main.c

    Per estrarlo si seguono le istruzioni sul sito:

    sudo tar -xvf gcc-lion.tar -C /

A breve pubblicherò un post sullo strumento “make” che si occupa di semplificare la compilazione di programmi che utilizzano più di un file sorgente.

Ciao!

 

File .DS_Store nelle cartelle condivise

Ciao a tutti, questo è il mio primo articolo del mio primo blog, un evento storico dunque ;-).

Molti di voi che possiedono un Mac avranno probabilmente una qualche sorta di storage di rete, come un NAS o anche semplicemente un pc fisso con windows di cui hanno condiviso una cartella. Ebbene come avrete notato il caro MacOSX si diletta nel creare dei file nascosti denominati .DS_Store su OGNI cartella visualizzata in rete. Questo comportamento è da considerare routine all’interno dei dischi di sistema del Mac, tuttavia può essere parecchio fastidioso visualizzarli anche da Windows o Linux…

Ecco quindi la soluzione finale al problema! Aprite Terminal.app e scriveteci:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Da questo momento in poi Mac non vi infastidirà più 😉

PS: Il trucchetto è spiegato nella KB di apple.