Wednesday, July 28th, 2010 | Author:
Eros
Qualche mese fa ho pubblicato un post che parlava di una iniziativa, molto interessante, di Carlo Pescio: con un gruppo di volontari ha voluto vedere se fosse possibile “sistemare” l’ultima versione elettronica che aveva del testo in oggetto (che per decisioni prese ai tempi della pubblicazione da parte della casa editrice Infomedia, risultava difforme dalla versione finale stampata) in modo tal da poter avere una versione digitale del testo il più fedele possibile al libro finale.
Ora l’iniziativa sta andando avanti abbastanza speditamente e siamo arrivati a circa il 70% di revisione di questo testo
Per maggiori informazioni vi mando nuovamente a quanto detto da Carlo nelle sue pagine ufficiali:
Cheers
Category: Informatica, Libri, Linguaggi, Quattro chiacchiere
|
Tags: C++ Manuale di Stile, carlo pescio, formazione, Infomedia, Informatica, LinkedIn, manuale di stile, pescio |
2 Comments
Wednesday, May 26th, 2010 | Author:
Eros

C++ Manuale di Stile
Scrivo questo veloce post solo per mettere al corrente chi passa da qui di una iniziativa di Carlo Pescio.
Correva l’anno 1995 e Carlo pubblicò un libro molto interessante e che è stato una pietra miliare della mia formazione informatica: “C++ Manuale di Stile” edito da Infomedia… anche se non ne è mai uscita una edizione aggiornata quanto presenta in questo libro è ancora molto attuale (su Programmazione.it potete trovare una breve recensione, che mi trova fondamentalmente d’accordo).
Ma questa è storia… la cosa importante è che Carlo ha deciso (ora che i diritti d’autore sono ritornati a lui) di iniziare un nuovo progetto collaborativo che riguarda proprio questo libro
.
Per maggiori informazioni vi mando direttamente a quanto detto da Carlo:
Cheers
Monday, May 24th, 2010 | Author:
Eros
Molto spesso a causa del mio lavoro mi trovo a dover implementare particolare algoritmi euristici sviluppati dal gruppo di ricerca con cui lavoro. Altrettanto spesso queste euristiche devono essere confrontate con la controparte esaustiva (o a forza bruta) per poter stimare quali sono i reali vantaggi nell’utilizzo dell’euristica rispetto ad un approccio a forza bruta. Fondamentalmente si è interessati a confrontare il rapporto qualità della soluzione rispetto al tempo “risparmiato” al crescere della dimensione del problema. Recentemente mi è capitato di dover lavorare su un problema la cui dimensione cresceva esponenzialmente rispetto ai dati di ingresso: come è facile immaginare la ricerca di una soluzione esaustiva diventava impraticabile (considerando i tempi necessari per poterla ricavare) anche con relativamente pochi dati iniziali. Proprio per questo ho fatto una veloce ricerca per vedere se riuscivo a trovare una libreria che mi permettesse con poco sforzo di parallelizzare l’algoritmo esaustivo in modo da poter sfruttare gli otto thread paralleli (ripartiti su 4 processori) disponibili sul mio Intel core i7 Q720.
Sono stato fortunato due volte:
- prima fortuna: mi sono imbattuto in questa API: OpenMP (The OpenMP API specification for parallel programming);
- seconda fortuna: viene supportata sia da MS Visual C++ (dalla versione 2005) che da GCC… anche se sotto Visual C++ non è possibile utilizzare la versione più recente (la 3.0) ma solamente la (2.0).
OpenMP mi è sembrata subito una risposta interessante al mio problema iniziale e quindi ho deciso di provarla sul campo e ne sono rimasto piacevolmente soddisfatto. Non potendo riportare qui quello su cui sto lavorando (l’articolo non è ancora uscito) vi presenterò un esempio ad hoc e vedremo come “modificarlo” (operazione necessaria utilizzando la versione 2.0 di OpenMP) e analizzeremo i miglioramenti di prestazioni ottenuti.
more…
Category: Informatica, Linguaggi
|
Tags: algoritmo, analisi, api specification, c++, dell, Fortran, gcc, intel, LinkedIn, OpenMP, parallel programming, performance, prestazioni, simulare, tempo, thread, visual c |
5 Comments
Sunday, March 08th, 2009 | Author:
Eros
Dopo quasi un mese, (forse) riesco a finire questa seconda parte
Eccoci quindi a vedere se e come è possibile implementare quello che le Boost Library offrono
Un passo indietro e poi avanti fino alla meta
La prima parte di questo post è possibile leggerla qui: C++ & Delegate (parte prima). Se per caso non l’avete ancora letta la consiglio
almeno per avere una visione completa di questo post.
Come funzionano?
Per avere un idea di come funziona questa estensione è conveniente partire con un problema semplificato. La semplificazione che consideriamo è che vogliamo ottenere un classe function che possa fare da delegate a “qualsiasi” funzione che accetti due parametri di ingresso qualsiasi e un valore di ritorno (che potrebbe essere anche void).
Naturalmente per ottenere questo risultato dovremo utilizzare una classe template, con tre argomenti:
- R, che indica il tipo di ritorno;
- A1, che indica il tipo del primo argomento;
- A2, che indica il tipo del secondo argomento.
more…
Thursday, February 05th, 2009 | Author:
Eros