Re: Numerical Recipes

From: Giorgio Pastore <pastgio_at_units.it>
Date: Fri, 18 Feb 2011 22:08:59 +0100

On 2/18/11 9:34 PM, Pleg wrote:
....
> Io invece in genere sconsiglio vivamente lo scrivere routine numeriche
> a mano. Per qualsiasi routine ti serve, e' *quasi certo* che esistano
> librerie numeriche scritte da professionisti, testate, stabili e
> veloci che fanno quello che ti serve.

Concordo.
Anche perch�, nel caso della soluzione dei sistemi lineari, oltre agli
algoritmi (tipo Gauss) intervengono in modo essenziale considerazioni
legate alla minimizzazione degli effetti del roundoff.

> Tra l'altro non sono mai stato un appassionato delle NR:
...
> per fare una routine veloce non basta un algoritmo
> veloce, serve anche una intima conoscenza dell'architettura della
> macchina su cui vuoi far girare il programma (CPU o GPU? multitheaded?
> cache coherent? quanti livelli di cache, con che dimensione, con che
> associativita', con che dimensione della cache line? superscalare?
> quate unita' floating point? ha unita' SIMD? quanto e' aggressivo il
> prefetcher hardware? eccetera...).

Qui mi sembra per� che dai per scontato che occorrano performance di
picco. Per un' enorme quantit� di probemi reali ed interessanti non �
cos� e anche la libreria meno ottimizzata e il programmatore meno
conscio dell' HW su cui girano i programmi potr� avere ottimi risultati
in tempi ragionevoli.

... BLAS e LAPACK sono gratis e inclusa nelle maggiori
> distribuzioni linux, ma immagino non siano ottimizzata bene come le
> prime due.
Vedi sopra. Finch� non si sbatte il naso con problemi reali di
performace anche l' implementazione generica va benissimo.

  Se invece vuoi lanciarti nella programmazione GPGPU,
> CUBLAS e' BLAS per CUDA, non so se ci siano gia' delle librerie tipo
> LAPACK open-source. Per OpenCL non so niente, ma immagino ci sia
> qualcosa anche li'.

Ma se uno ti chiede qualcosa contro le zanzare gli suggerisci una bomba
all' idrogeno ? :-)

Io sarei molto cauto a suggerire la programmazione delle GPGPU anche a
colleghi "affamati" di calcolo intensivo, figurarsi a Soviet che non
credo abbia necessit� cos� estreme (mi cosparger� la testa di cenere se
sbaglio).

Per Soviet:
Per fare i conti Lapack va benissimo. Mi lascia invece un po'
perplessol'affermazione che il linguaggio non conti. Dipende da cosa
vuoi fare. Per calcoli non ci sono problemi. Ma se invece vuoi guardare
come sono fatte, non so se suggerirtele.

Comunque il sito delle num. rec. �
http://www.nr.com/oldverswitcher.html
"tonnellate" di sw numerico (in sorgente) le trovi su
http://www.netlib.org/

Giorgio
Received on Fri Feb 18 2011 - 22:08:59 CET

This archive was generated by hypermail 2.3.0 : Fri Nov 08 2024 - 05:10:30 CET