View previous topic :: View next topic |
Author |
Message |
musv Advocate
Joined: 01 Dec 2002 Posts: 3369 Location: de
|
Posted: Thu Jan 22, 2009 5:01 pm Post subject: OpenMP, MPI, brauch ich oder brauch ich nicht? |
|
|
Hi,
wie man aus dem anderen Thread entnehmen konnte, installier ich grad meine neue Kiste. Das ist ein Athlon64 X2 (für mehr hat die Haushaltskasse leider nicht gereicht.)
Jetzt hat das Ding 2 CPU-Kerne, wie sich jeder weiß. Und da bin ich bei der Konfiguration der USE-Flags auf so einige Dinge gestoßen, bei denen ich nicht wirklich weiter wußte. Da gibt's:
und was weiß der Geier.
Da ist die Rede von Parallelisierung bis hin zu Cluster. Hat das einen Sinn, sowas auf meiner Kiste zu aktivieren? Und wenn ja, welche der Use-Flags für Parallelisierung sind sinnvoll und welche nicht? |
|
Back to top |
|
|
Polynomial-C Retired Dev
Joined: 01 Jun 2003 Posts: 1432 Location: Germany
|
Posted: Thu Jan 22, 2009 6:19 pm Post subject: |
|
|
Angeregt durch deinen Post, habe ich eben mal testweise das openmp useflag gesetzt bei mir und prompt fegt mein dual quad-core System nur so durch das Kompilieren von beispielsweise gcc (eins der wenigen Pakete, welches das openmp useflag überhaupt hat):
Ohne openmp
Code: | Mon Dec 29 12:10:07 2008 >>> sys-devel/gcc-4.3.2-r2
merge time: 1 hour, 15 minutes and 54 seconds. |
Mit openmp
Code: | Thu Jan 22 18:54:09 2009 >>> sys-devel/gcc-4.3.2-r2
merge time: 19 minutes and 48 seconds. |
Ich würde also sagen, daß openmp zumindest bei ein paar Paketen das Kompilieren etwas beschleunigen kann. _________________ The manual said "Requires Windows10 or better" so I installed GNU/Linux...
my portage overlay
Need a stage1 tarball? (Unofficial builds) |
|
Back to top |
|
|
samsonus Apprentice
Joined: 18 Jan 2005 Posts: 225 Location: Siegen
|
Posted: Thu Jan 22, 2009 8:35 pm Post subject: |
|
|
das sind beides frameworks die dich unterstuetzen deinen programmcode zu parallelisieren.
openmp ist zb geeignet fuer speichergekoppelte systeme
und mpi fuer nachrichtengekoppelte systeme (kann aber auch auf speichergekoppelten Systemen eingesetzt werden)
openmp wird durch setzen von pragmas im c code erreicht, der gcc kann diese pragmas dann aufloesen, wenn das useflag gesetzt ist, ansonsten benoetigt man den openmp compiler.
alles in allem, wenn du programmierst und dein programm parallelisieren willst und nicht alles per hand (pthreads) realisieren willst, dann solltest du die useflags setzen. |
|
Back to top |
|
|
Necoro Veteran
Joined: 18 Dec 2005 Posts: 1912 Location: Germany
|
Posted: Thu Jan 22, 2009 11:37 pm Post subject: |
|
|
Code: | Zakarumiy profiles # grep -R "openmp" *
[...]
default/linux/make.defaults:USE="${USE} fortran mudflap openmp" |
Also zu mindestens beim 2008.0 Profil sollte openmp auch schon standardmäßig aktiviert sein
/edit: GIMP hat übrigens auch ein smp useflag. Das macht sicherlich auch Sinn anzuschalten, wenn man GIMP benutzt auf einem SMP-System. _________________ Inter Deum Et Diabolum Semper Musica Est. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|