Kirjoittaja Aihe: Mistä Fortran ?  (Luettu 7343 kertaa)

Aakku

  • Käyttäjä
  • Viestejä: 239
  • Hullu sopii olla, vaan ei tyhmä.
    • Profiili
    • Outoja juttuja
Mistä Fortran ?
« : 23.11.06 - klo:18.59 »
Tarvitsisin kunnollista Fortrania - sellaista, jossa olisi editori ja mahdollisuus debuggaukseen ja kääntämiseen.

Ubuntun pakettivarastojen F:iä olen kokeillut - huonolla menstyksellä, Jed-nimistä ja Kuipc-nimistä, sekä Intelin ilmaista versiota - lisäksi vielä Photranin Eclipseä ... ei toimi mikään niistä oikein, olenko ääliö, vai mikä mättää.

Onko jollain kokemusta - tarvitsen nimenomaan Fortranin, koska se on tehokkain numeronmurskain ja lisäksi tuntee kompleksilukujen matematiikan ilman eri virityksiä : määrittelee vain Complex R ja sitten muuttuja R on kopleksiluku esim ( 25 + 193i) tai siis (25,193).

Tietoa ja rautalankamalliohjeita otetaan vastaan arkisin ja viikonloppuisin valveillaoloaikana :)

saniem

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Re: Mistä Fortran ?
« Vastaus #1 : 23.11.06 - klo:19.16 »
Tarvitsisin kunnollista Fortrania - sellaista, jossa olisi editori ja mahdollisuus debuggaukseen ja kääntämiseen.

Itse käytän koodin kirjoittamiseen Jed:iä, joka tukee Fortranille värikoodausta. Myös Emacs on yleisesti hyväksi havaittu ja myös sille on värikoodaus saatavana. Näiden editoreiden hyviä puolia karusta ulkoasusta huolimatta on niiden toimivuus myös ssh yhteyden yli, mikäli koodia puukotetaan, käännetään ja ajetaan esim. CSC:n koneilla.

Mikäli tarkoitus on saada ilmainen Fortrankääntäjä Ubuntuun, tarjoaa Intel sellaisen kotisivuillaan eikaupalliseen tarkoitukseen. Asentaminen Dapperiin sujui aikoinaan ongelmitta, seuraamalla asennusscriptin ohjeistusta. Asensin Intelin Fotrankääntäjän myös läppärini 64-bittiseen Edgyyn.

Ubuntun repositoryssä on olemassa myös toinen ilmainen vaihtoehto: GNU Fortran. Tämä ei kuitenkaan mielestäni ole vielä sillä tasolla, kuin hiemankin vaativamman numeronmurskausalgoritmin kääntäminen edellyttää. Fortranin opetteluun se kuitenkin lienee aivan kelvollinen.

- Sami
« Viimeksi muokattu: 23.11.06 - klo:19.29 kirjoittanut saniem »

Aakku

  • Käyttäjä
  • Viestejä: 239
  • Hullu sopii olla, vaan ei tyhmä.
    • Profiili
    • Outoja juttuja
Re: Mistä Fortran ?
« Vastaus #2 : 23.11.06 - klo:19.35 »
Kokeilin uudelleen tuota Jed:iä - jotain outoa siinä on kun mielikuvituksellista koe-nimistä ohjelmaa yritin kääntää :

Unable to load /usr/share/jed/lib/acompile.sl

Ääh - pitäisiköhän tuo imuroida uudelleen pakettivarastosta ?

saniem

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Re: Mistä Fortran ?
« Vastaus #3 : 23.11.06 - klo:19.48 »
Kokeilin uudelleen tuota Jed:iä - jotain outoa siinä on kun mielikuvituksellista koe-nimistä ohjelmaa yritin kääntää :
Unable to load /usr/share/jed/lib/acompile.sl

Kuinka tuon ohjelmasi yritit kääntää? Ilmeisesti Jed:n valikosta System/Compile?

Itse en koskaan ole tutkinut miten Jed yrittää koodia kääntää, joten mielestäni suositeltavampi vaihtoehto on kääntää itse komentoriviltä. Kääntäjästä riipuenhan fortranin koodi (ilman moduuleja) käännetään komentoriviltä käskyillä:
f95 ohjelma.f90
ifort ohjelma.f90

Jonka jälkeen ohjelman voi ajaa komentoriviltä käskyllä:
./a.out

Miksi sitten mielestäni on suositeltavampaa kääntää komentoriviltä? Ennenpitkää ohjelmasi tulevat sisältämään useita moduuleita, jolloin helpoimmaksi tavaksi kääntää koko ohjelma tulee kirjoittaa makefile, joka sitten voidaan ajaa komentoriviltä pelkällä make/gmake tms. käskyllä. Tällöin suoritetaan makefile:ssä määritellyt käskyt. Näin useiden moduulien ja pääohjelman kääntäminen onnistuu yhdellä käskyllä.

Lisätietoa Fortranista löytyy mm. täältä:
http://www.csc.fi/oppaat/f95/

- Sami

Edit: Lisätty linkki ja korjattu virheitä
« Viimeksi muokattu: 23.11.06 - klo:20.02 kirjoittanut saniem »

Aakku

  • Käyttäjä
  • Viestejä: 239
  • Hullu sopii olla, vaan ei tyhmä.
    • Profiili
    • Outoja juttuja
Re: Mistä Fortran ?
« Vastaus #4 : 23.11.06 - klo:20.05 »
Kuinka tuon ohjelmasi yritit kääntää? Ilmeisesti Jed:n valikosta System/Compile?

Juu, sieltähän minä ...

Lainaus
Itse en koskaan ole tutkinut miten Jed yrittää koodia kääntää, joten mielestäni suositeltavampi vaihtoehto on kääntää itse komentoriviltä. Kääntäjästä riipuenhan fortranin koodi (ilman moduuleja) käännetään komentoriviltä käskyillä:
f95 aja_tama ohjelma.f90
ifort aja_tama ohjelma.f90

Jonka jälkeen ohjelman voi ajaa komentoriviltä käskyllä:
./aja_tama

Miksi sitten mielestäni on suositeltavampaa kääntää komentoriviltä? Ennenpitkää ohjelmasi tulevat sisältämään useita moduuleita, jolloin helpoimmaksi tavaksi kääntää koko ohjelma tulee kirjoittaa makefile, joka sitten voidaan ajaa komentoriviltä pelkällä make/gmake tms. käskyllä. Tällöin suoritetaan makefile:ssä määritellyt käskyt. Näin useiden moduulien ja pääohjelman kääntäminen onnistuu yhdellä käskyllä.

- Sami

Kiitoksia vihjeistä :)

Ongelmani on, että pitäisi saada heksamuodossa tallennettu matriisi [kompleksinen] luetuksi ja käsitellyksi - siinä on likimain muoto aa bb cc dd , eli ilmeisesti kaksi ensimmäistä on reaaliosaa ja kaksi jälkimmäistä kompleksiosaa ... aika härö formaatti, sellaisen kuin Image Pro:n tuottama, missä Fouriermuunnettu matriisi tallennetaan nimellä jotain.fft, mikä näyttää olevan kuitenkin datatiedosto... Jatkokäsittely tapahtuisi [jos onnistun] Matlabilla - pitäisi yhdistää kaksi FFT-muunnettua kuvaa yhdeksi ja päräyttää käänteismuunnos. Kuullostaa mutkikkaalta, vaan ei ole - tämä Fortran vain nyt tekee kiusaa :)

Kaikenlaiseen hommaan sitä pitääkin lupautua ... niin, se Image Pro kyllä laskee yhteen, mutta hävittää kaikenlaisen vaiheinformaation ! Pitää käyttää kiertoteitä.

juyli

  • Vieras
Re: Mistä Fortran ?
« Vastaus #5 : 23.11.06 - klo:21.05 »
Kiitoksia vihjeistä :)

Ongelmani on, että pitäisi saada heksamuodossa tallennettu matriisi [kompleksinen] luetuksi ja käsitellyksi - siinä on likimain muoto aa bb cc dd , eli ilmeisesti kaksi ensimmäistä on reaaliosaa ja ...

Olisikohan jo aika siirtyä Ohjelmointi-palstalle täältä aloittelijoiden palstalta?
En yleensäkään Linux-ympäristössä ymmärrä ohjelmoijien tarvetta IDE:een, kun
on mahdollista editoida koodia, kääntää ja ajaa koodi hyvinkin "yhtäaikaisesti"
debuggauksesta puhumatta eri päätteillä tai virtuaaliterminaaleissa.
Jo Fortran-kysely olisi ehkä tavoittanut vastaajia paremmin soveltuvalla keskustelualueella.
Fortran tuskin on ohjelmointityökalu (Linux-)aloittelijoille.

Aakku

  • Käyttäjä
  • Viestejä: 239
  • Hullu sopii olla, vaan ei tyhmä.
    • Profiili
    • Outoja juttuja
Re: Mistä Fortran ?
« Vastaus #6 : 25.11.06 - klo:15.21 »
o Fortran-kysely olisi ehkä tavoittanut vastaajia paremmin soveltuvalla keskustelualueella.
Fortran tuskin on ohjelmointityökalu (Linux-)aloittelijoille.

Niinhän minunkin olisi pitänyt ymmärtää, mutta kun on sama pää kesät talvet :)

Olen nyt kokeillut sekä jed:ä, että xjed:ä ja hyviltä vaikuttavat, joten niillä kai sitten tästä eteenpäin - tuo f90/f95 on vielä asentamatta, mutta gfortran pakettivarastosta näyttää, ainakin lyhyissä kokeilupätkissä, toimivan. Pitää lukea nuo linkit oikein ajatuksen kanssa [minulle ajattelu on vaikeaa, koska siitä tulee päänsärkyä :D - pitää varata buranapaketti näppäimistön viereen...].