JorisL
Artikelen: 0
Berichten: 555
Lid geworden op: ma 30 jul 2007, 22:59

[C]GSL matrix

Hoi

Ik heb de opdracht gekregen om een simulatie uit te voeren inzake het Ising model. Daarvoor heb ik een 'rooster' met N x N spins die evolueren in de tijd.

Ik wil daar een matrix voor gebruiken.

Nu is het zo dat we vaak de GSL-library gebruiken in onze programma's maar nu vraag ik me af of het niet sneller is om met double dereferenced pointers te werken?

Want ik weet niet wat die GSL matrices inhouden alleen dat er een typedef voor gebruikt wordt.

Ik wil zo snel mogelijke code hebben omdat we een rooster met N toch minstens 5 miljoen moeten gebruiken. De prof kijkt ook lichtjes naar de code die we schrijven en de snelheid ervan.

Het programma wordt uiteindelijk op de supercomputer gerund maar toch hoe rapper het programma loopt hoe rapper ik de data kan gebruiken en mijn conclusies trekken.

mvg

Joris
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: [C]GSL matrix

(http://www.gnu.org/software/gsl/)

GSL requires a BLAS library for vector and matrix operations. The default CBLAS library supplied with GSL can be replaced by the tuned ATLAS library for better performance,


Als performance echt belangrijk is kijk je misschien best eens naar die ATLAS library. OpenCV is misschien ook een interessant alternatief. Die library is ontwikkeld door Intel en wordt vooral gebruikt voor real-time image processing. En images zijn eigenlijk ook gewoon matrices... (De matrix operaties zijn dus normaal erg performant.)
JorisL
Artikelen: 0
Berichten: 555
Lid geworden op: ma 30 jul 2007, 22:59

Re: [C]GSL matrix

Ok bedankt. Ben niet zeker over wat er allemaal beschikbaar is maar nu kan ik gericht beginnen kijken hoe ik alles zo snel mogelijk kan laten werken.

Terug naar “Informatica en programmeren”