| |
 | Der 3D-Scanner SmartScan VR800 von Hexagon gewinnt den Red Dot Design Award für herausragendes Produktdesign, eine Pressemitteilung
|
Autor
|
Thema: MSC.Marc Mentat 2010.2 / Ändern der Fortran-Compiler (ifort) Parameter (3832 mal gelesen)
|
Sheeepy Mitglied
 Beiträge: 8 Registriert: 12.04.2010 SuseLinux (2.6.37-6-0.7-desktop [x86_64]) MSC.Marc Mentat 2010.2 Intel Fortran Compiler 11.1 (ifort)
|
erstellt am: 14. Okt. 2011 11:50 <-- editieren / zitieren --> Unities abgeben:         
Hallo, folgendes Problem: Ich habe eine static library erzeugt und möchte diese beim Compilieren meiner Usersub (hypela2) mit einbeziehen. Hierzu wird normalerweise dem Compiler der Pfad mit -IPATH übergeben. Optional möchte ich auch noch, dass meine Usersub mit -O3 compiliert wird (Optimierung). Jedoch habe ich keine Root-Rechte, um die run_marc dahingehend zu bearbeiten (run_marc compiliert ab etwa Zeile 2807 die usersubs). Zudem wäre die Modifikation der run_marc nicht zielführend, da die Usersub so nur bedingt portierbar wäre. Eine Lösung wäre für das "static library"-Problem, die environment-variable LD_LIBRARY_PATH zu modifizieren, jedoch müsste das beim Portieren dann auch beachtet werden... Oder gibt es eine Möglichkeit in Marc auch object files statt fortran files zu importieren, sprich Marc das Compilieren abzunehmen? Viele Grüße Christof [Diese Nachricht wurde von Sheeepy am 14. Okt. 2011 editiert.] [Diese Nachricht wurde von Sheeepy am 14. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
  
 Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 14. Okt. 2011 11:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Sheeepy
Hallo Christof, ich denke, dass der einzige Weg (auch für das Setzen eigener Compiler-Optionen) das Editieren der run_marc ist. Wenn dem nicht so ist, dann würde mich das auch sehr stark interessieren, wie das denn möglich ist. Viele Grüße Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheeepy Mitglied
 Beiträge: 8 Registriert: 12.04.2010 SuseLinux (2.6.37-6-0.7-desktop [x86_64]) MSC.Marc Mentat 2010.2 Intel Fortran Compiler 11.1 (ifort)
|
erstellt am: 14. Okt. 2011 12:09 <-- editieren / zitieren --> Unities abgeben:         
Hallo, In der run_marc wird das Compilieren durch zwei Variablen durchgeführt: $FORTRAN $usersub Ich kann nicht ganz nachvollziehen (da ich run_marc nicht editieren kann), woher das $FORTRAN kommt. Evtl. könnte man beim erzeugen dieser Variable eingreifen, um dort noch Parameter anzuhängen. Viele Grüße Christof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheeepy Mitglied
 Beiträge: 8 Registriert: 12.04.2010 SuseLinux (2.6.37-6-0.7-desktop [x86_64]) MSC.Marc Mentat 2010.2 Intel Fortran Compiler 11.1 (ifort)
|
erstellt am: 14. Okt. 2011 12:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo, also ich habe die Marc-Verzeichnisse bisschen durchsucht: gefunden in: ./marc20102./tools/include_linux64 ... FCOMP=ifort ... FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 -O1 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" ... d.h. -O3 wäre dann statt $FORTRAN einfach $FORTHIGH zu schreiben, jedoch nur wenn die run_marc bearbeitet werden kann. Im Header der run_marc: # -u* user user subroutine. . . # # -obj obj user objects or libraries. . . # Also sollten user object files auch funktionieren (nehme ich mal an) So könnte evlt. die static library eingebunden werden oder ggf. eine selbst compilierte usersub. Jedoch frage ich mich, wo ich das in Mentat einstellen kann. Da ich zurzeit sowieso über ssh arbeite, starte ich run_marc direkt. Jedoch wäre interessant, wo in Mentat ich das definieren kann? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheeepy Mitglied
 Beiträge: 8 Registriert: 12.04.2010 SuseLinux (2.6.37-6-0.7-desktop [x86_64]) MSC.Marc Mentat 2010.2 Intel Fortran Compiler 11.1 (ifort)
|
erstellt am: 14. Okt. 2011 16:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Lösung: Die Usersub (ifort -c usersub.f) selbst kompilieren und das object file über den run_marc Parameter -obj (-obj usersub.o) einbinden. Jedoch weiß ich nicht, wie das über die GUI Mentat funktioniert. Das scheint mir (bis jetzt) die beste Lösung zu sein. Evlt. hat jemand eine andere Idee. Viele Grüße Christof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |