Programm soll volle CPU Leistung bekommen
-
Danke für den Hinweis.
Es sieht sehr interessant und verlockend aus mit OpenMP zu arbeiten.
Aber ich denke, ich bräuchte zu lange um mich damit wirklich gut auszukennen.Aber für zukünftige Projekte ist es eine gute Option. Deshalb nochmals danke.
Liebe Grüße
StefanN
-
Hallo,
da bin ich noch einmal.
Vielleicht war ich etwas voreilig. Habe mir gerade ein paar Beispiele angesehn und in den Grundzügen ist es ziemlich verständlich und einfach und auf wenige Zeilen reduzierbar.
Mein Problem ist nur, wie ich an OpenMP herankomme? Ist dies Freeware (OpenSource)?
Habe mich verzweifelt gegoogelt aber keine Bezugsquellen bekommen.Falls es OpenSource ist, dann müsste es für meinen Borland BCB2007 passen. Falls jemand einen Link für mich hätte, wäre ich echt dankbar.
Liebe Grüße
Stefan
-
Ab VS2005 ist eine Implementation der Library dabei. Sie kann mit einem Kompiler Switch (Kompiler Settings) aktiviert werden.
EDIT: Habs schlecht gelesen.. BCB07
> Was verwendest Du denn für eine IDE / Kompiler?
-
Hallo,
als IDE verwende ich den Borland C++ Builder 2007 von CodeGear. Ich habe im BCB Forum erfahren, dass OpenMP wohl dort nicht zur Verfügung steht.
Ich dachte zuerst, es wäre nur eine .lib oder .dll die man einfügen muss damit das ganz gesteuert werden kann.
Eigentlich schade. Es hat sehr vielversprechend ausgesehen. Vor allem, weil ich viele zeitraubende Schleifen in meinem Programm besitze...
Gibt es perse noch andere Möglichkeiten außer OpenMP für mich?
Danke
-
=> MS Visual Studio!
-
Hallo,
gut. Ein Umstieg kommt für mich jetzt im Moment nicht in Frage, da mein Projekt fast fertig ist.
Außerdem ist es mir vor einiger Zeit ziemlich schwer gefallen, mit dem Microsoft Visual C++ Express zurecht zu kommen. Bin eben ein Borland Junge und diese IDE gewöhnt.
-
Der vollständigkeitshalber hier noch eine Übersicht, welche Kompiler OpenMP Unterstützung haben:
http://members.gamedev.net/Rivorus/surge/html/surge_act/setting_up_your_compiler.html
-
Hallo,
danke für die Übersicht. Hat jemand schon Erfahrung mit dem Umgang mit OpenMP und kann mir sagen, wie in etwa sich die Laufzeit mit und ohne Verwendung von Parallelisierung verhält?
-
Was ist das für eine Frage?
je nach Anzahl der Prozessoren und geschickter Wahl Deiner Schleifen ist es entsprechend um die Faktoren schneller...
-
StefanN schrieb:
gut. Ein Umstieg kommt für mich jetzt im Moment nicht in Frage, da mein Projekt fast fertig ist.
Du könntest, wenn die Datenübergabe nicht von C++-Objekten abhängt, also über ein C-Interface realisierbar ist, den performancekritischen Teil in Visual C++ (oder MinGW) als DLL übersetzen und aus dem C++Builder-Programm einbinden.
-
Hallo,
danke für die Antwort. Das wäre noch eine Idee wert.
Danke
Stefan
-
Zu früh geantwortet.
Da fällt mir noch eine schnelle Frage ein.
Ist in der Visual C++ Express Version (kostenfreie Version) das Outsourcen in eine .dll möglich und zudem OpenMP vorhanden?
(Bevor ich mir die Mühe mache das ganze nochmals herunterzuladen)
Danke
-
StefanN schrieb:
Ist in der Visual C++ Express Version (kostenfreie Version) das Outsourcen in eine .dll möglich
Ja.
StefanN schrieb:
und zudem OpenMP vorhanden?
Nein.
MinGW wäre insofern vielleicht passender, da frei erhältlich.