Ciao
DarwinNE rispondo brevemente alle domande.
DarwinNE ha scritto:E' molto interessante. Che tipo di calcoli ti trovi a fare?
In genere algoritmi
real-time per la misura di oggetti in campo industriale.
Le immagini possono provenire da telecamere o più frequentemente da
laser scanner 2D.
Inoltre mi capita spesso di dover risolvere problemi di ottimizzazione matematica , controlli automatici e risoluzione di equazioni differenziali non lineari.
DarwinNE ha scritto:Io utilizzo LAPACK per trattare alcuni problemi agli autovalori. La cosa un po' delicata è che il mio programma è in C++ e bisogna quindi interfacciarsi al Fortran, cosa che si fa bene, ma che alle volte è un tantino scomoda.
Se provieni da LAPACK non c'è problema perché la relazione tra Alglib e Lapack è strettissima.
http://www.kitware.com/InfovisWiki/index.php/Linear_Algebra_PackagesHo impiegato la
Alglib sia in C++ che in C# e non ho avuto alcun problema.
Anche io ho utilizzato in passato
Lapack.
DarwinNE ha scritto:Sai mica come si comporta ALGLIB per gli autovalori?
E' difficile dare una risposta univoca.
Per quanto riguarda le prove che ho condotto si è comportata molto bene ma le matrici non erano enormi e non erano sparse.
Hanno migliorato molto gli algoritmi nelle ultime versioni.
Se ho dubbi di condizionamento utilizzo l'
SVD per evitare sorprese.
DarwinNE ha scritto:E' facilmente scalabile su sistemi multicore? Come potenza pura e dura, è comparabile a LAPACK accoppiato a ATLAS?
Questo è un argomento molto ostico.
Nel forum dell' Alglib trovi alcune risposte più o meno esplicite tipo questa
http://forum.alglib.net/viewtopic.php?f=2&t=377 ma non ho esperienze tali da poter esprimere un giudizio autorevole.
Nei casi di mio interesse eseguo lo
split sui frame provenienti dai sensori e non sul singolo algoritmo dell'AlgLib per cui il parallelismo risulta di semplice implementazione.
Non ho esperienza con
AlgLib su come parallelizzare per esempio la ricerca degli autovalori di una matrice sparsa di grandi dimensioni ( se è quello che vorresti fare ).
Per quanto riguarda la velocità di calcolo ho avuto grosse soddisfazioni ( compilato in modalità release ovviamente

).
Non saprei compararlo con
Lapack accoppiato con
Atlas, secondo me ti conviene effettuare di persona alcuni
test. Se provieni dal mondo
Lapack impieghi poco tempo per scrivere qualche riga di codice in C++ per caricare una matrice "cattiva" e fare un confronto in termini di
performance.