Mentat 2010
MSC.Softvérové simulačné riešenia
MSC.Marc Mentat 2010.2/Zmeňte parametre kompilátora Fortran (ifort)

Príspevky: 8
Registrované: 12. apríla 2010
nasledujúci problém:
Vytvoril som statickú knižnicu a chcel by som ju zahrnúť do kompilácie môjho usersub (hypela2). Na tento účel sa cesta normálne odovzdá kompilátoru s parametrom -I PATH. Voliteľne by som tiež chcel, aby bol môj subskriptovanie používateľov skompilovaný s -O3 (optimalizácia). Nemám však práva root na príslušnú úpravu run_marc (run_marc kompiluje usersubs asi z riadku 2807). Okrem toho by úprava run_marc nebola účelná, pretože používateľská podskupina by bola prenosná iba čiastočne.
Riešením problému so „statickou knižnicou“ by bola úprava premennej prostredia LD_LIBRARY_PATH, čo je však potrebné zohľadniť aj pri prenose.
Alebo je v Marcovi možnosť importovať objektové súbory namiesto fortranských, t.j. prevziať kompiláciu pre Marca?
[Túto správu upravil Sheeepy 14. októbra 2011.]
[Túto správu upravil Sheeepy 14. októbra 2011.]
Príspevky: 773
Registrované: 13. decembra 2008
Príspevky: 8
Registrované: 12. apríla 2010
V run_marc sa kompilácia vykonáva pomocou dvoch premenných:
$ FORTRAN $ usersub
Celkom nerozumiem (pretože nemôžem editovať run_marc), odkiaľ pochádza $ FORTRAN. Pri vytváraní tejto premennej by ste mohli zasahovať, aby ste do nej mohli pridať parametre.
Príspevky: 8
Registrované: 12. apríla 2010
Takže som trochu prehľadal adresáre Marca:
nájdené v: ./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 "
.
tj -O3 by potom musel byť jednoducho napísaný $ FORTHIGH namiesto $ FORTRAN, ale iba ak je možné run_marc spracovať.
V hlavičke run_marc:
# -u * podprogram užívateľ užívateľ. . . #
# -obj obj objekty používateľa alebo knižnice. . . #
Takže súbory užívateľských objektov by tiež mali fungovať (myslím)
Takže možno. statická knižnica alebo, ak je to potrebné, svojpomocný kompilát. Zaujímalo by ma však, kde to v mentate nastavím. Keďže momentálne aj tak pracujem na ssh, spúšťam priamo run_marc. Bolo by však zaujímavé sledovať, kde to v mentate môžem definovať?
Hľadáte novú profesionálnu výzvu a chceli by ste ju spravodlivý a osobný nábor kontaktovať? kvôli nášmu dlhoročné skúsenosti mara Personalservice GmbH je tým správnym kontaktom.
Príspevky: 8
Registrované: 12. apríla 2010
Riešenie:
Zostavte si sami usersub (ifort -c usersub.f) a zahrňte súbor objektu pomocou parametra run_marc -obj (-obj usersub.o).
Neviem však, ako to funguje prostredníctvom grafického používateľského rozhrania Mentat.
To sa mi (zatiaľ) javí ako najlepšie riešenie.