eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Jak zacząć pracę z Fortranem?
Ilość wypowiedzi w tym wątku: 38

  • 21. Data: 2016-09-15 22:28:56
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: joahim <w...@g...com>

    W dniu czwartek, 15 września 2016 11:24:53 UTC+2 użytkownik slawek napisał:
    > Ogólnie: pisanie w Fortranie to jak powożenie bryczką - jest to coś
    > czego można spróbować, ale na codzień praktyczne nie jest.

    No paczpan, a ja słyszałem, że przy mieleniu dużej ilości liczb, np. przy
    wyliczeniach kartograficznych, danych pogodowych itp. fortran wciąż bije konkurencję
    na głowę prędkością, stąd wśród specjalistów od geografii jest prawie obowiązkowy.

    joahim


  • 22. Data: 2016-09-15 23:04:14
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2016-09-15 22:28, joahim wrote:
    >> Ogólnie: pisanie w Fortranie to jak powożenie bryczką - jest to coś
    >> czego można spróbować, ale na codzień praktyczne nie jest.
    > No paczpan, a ja słyszałem, że przy mieleniu dużej ilości liczb,
    > np. przy wyliczeniach kartograficznych, danych pogodowych itp.
    > fortran wciąż bije konkurencję na głowę prędkością, stąd wśród specjalistów od
    geografii jest prawie obowiązkowy.

    Kiedyś faktycznie był szybki, ale ostatnio widzę że istnieje bardziej na
    zasadzie inercji: jest bo jest w nim jakiś soft numeryczny i jakoś tak
    wychodzi. Czy *obecnie* fortran jest szybszy niż identyczny algorytm w C
    i co najwazniejsze: niby dlaczego?


  • 23. Data: 2016-09-15 23:55:16
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: Adam M <a...@m...com>

    On Thursday, September 15, 2016 at 5:04:18 PM UTC-4, Sebastian Biały wrote:
    > On 2016-09-15 22:28, joahim wrote:
    > >> Ogólnie: pisanie w Fortranie to jak powożenie bryczką - jest to coś
    > >> czego można spróbować, ale na codzień praktyczne nie jest.
    > > No paczpan, a ja słyszałem, że przy mieleniu dużej ilości liczb,
    > > np. przy wyliczeniach kartograficznych, danych pogodowych itp.
    > > fortran wciąż bije konkurencję na głowę prędkością, stąd wśród specjalistów od
    geografii jest prawie obowiązkowy.
    >
    > Kiedyś faktycznie był szybki, ale ostatnio widzę że istnieje bardziej na
    > zasadzie inercji: jest bo jest w nim jakiś soft numeryczny i jakoś tak
    > wychodzi. Czy *obecnie* fortran jest szybszy niż identyczny algorytm w C
    > i co najwazniejsze: niby dlaczego?

    Ciagle w niektorych dziedzinach (fizyka nuklearna, symulacja zjawisk pogodowych,
    astrofizyka, hydroakustyka) i na niektorych superkompuerach jest ciagle najszybszy.
    Nowoczesny Fortran ma dodane pelne OOP - ale tam gdzie jest uzywany (szybkie
    przetwarzanie numeryczne) nikt o to nie dba - ciagle sa na poziomie Fortran 77 (ktory
    z definicji poswiecal wiele dobrych cech innych jezykow dla jednego celu - szybkosc).
    Najwieksza sila Fortranu (i to powoduje ze ciagle sie dobrze trzyma) jest masa dobrze
    przetestowanych specjalizowanych bibliotek numerycznych ktorych nikt nie ma zamairu
    prznosic na inne jezyki (bo trzeba by bylo je testowac od nowa).


  • 24. Data: 2016-09-16 01:12:08
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: slawek <f...@f...com>

    On Thu, 15 Sep 2016 13:28:56 -0700 (PDT), joahim <w...@g...com>
    wrote:
    > No paczpan, a ja słyszałem, że przy mieleniu dużej ilo=
    > ści liczb, np. przy wyliczeniach kartograficznych, danych
    pogodowych i=
    > tp. fortran wciąż bije konkurencję na głowę pr?=
    > ?dkością, stąd wśród specjalistów od geogra=
    > fii jest prawie obowiązkowy.

    Też takie rzeczy słyszałem. Ale to było 30 lat temu. "Trochę" się od
    tamtego czasu zmieniło.


  • 25. Data: 2016-09-16 01:24:46
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: slawek <f...@f...com>

    On Thu, 15 Sep 2016 14:55:16 -0700 (PDT), Adam M
    <a...@m...com> wrote:
    > Ciagle w niektorych dziedzinach (fizyka nuklearna, symulacja
    zjawisk pogodo=
    > wych, astrofizyka, hydroakustyka) i na niektorych superkompuerach
    jest ciag=

    Tylko przez bezwład. Nowe pokolenie ewoluuje w kierunku Pythona i
    C++. A że C++ jest szybsze niż Fortran stwierdzono już kilkanaście
    lat temu.


  • 26. Data: 2016-09-16 12:53:17
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: Borneq <b...@a...hidden.pl>

    W dniu 15.09.2016 o 23:04, Sebastian Biały pisze:
    > Kiedyś faktycznie był szybki, ale ostatnio widzę że istnieje bardziej na
    > zasadzie inercji: jest bo jest w nim jakiś soft numeryczny i jakoś tak
    > wychodzi. Czy *obecnie* fortran jest szybszy niż identyczny algorytm w C
    > i co najwazniejsze: niby dlaczego?

    Obecne C/C++ jest szybkie do kresu możliwości.Sprawdzałem w VC 2015 w
    Release:
    Wyliczałem Hornerem :
    obliczanie przyblizenia Czebyszewa exp(x) wielomianem
    stopnia 7; wielomian obliczany schematem Hornera
    oraz szybsz? metod?

    double horner(double x)
    {
    double result = 0.0002047;
    result = result*x + 0.001439274;
    result = result*x + 0.008328596;
    result = result*x + 0.041635012;
    result = result*x + 0.166667986;
    result = result*x + 0.500006347;
    result = result*x + 0.999999901;
    result = result*x + 0.999999801;
    return result;
    }

    double hornerfast(double x)
    {
    return ((((((0.0002047*x + 0.001439274)*x + 0.008328596)*x
    + 0.041635012)*x + 0.166667986)*x + 0.500006347)*x + 0.999999901)*x +
    0.999999801;
    }

    oraz dla porównania metodą szybsza od Hornera:
    double fast(double x)
    {
    double y = x*0.297178123 + 0.155642921;
    double z = y*y;
    return (z + 0.732273642600117)*(y*((z + 2.4368618551)*(z + y -
    1.0184605924)
    + 5.2036422682) + 1.5688833150) - 0.5565483727;
    }


    Przed laty pisałem coś takiego w Pascalu
    i horner na Duronie 900 miał 190 taktów, hornerfast na Duronie 900 miał
    72 takty a fast
    na Duronie 900 miał 105 taktów, a 160 gdy "linie nie były polaczone ze sobą"
    Czyli zależność procedury od tego czy ją się napisze w jednej linii a
    poza tym nowa metoda fast gorsza od szybszego Hornera mimo że mniej mnożeń.
    Spowodowane to było małą optymalizacją.
    W C++ zupełnie co innego, pętla 20000000:
    horner 68.82 ms
    hornerfast 68.9 ms
    fast 68.19 ms
    Wszystkie tak samo, niestety szybsza metoda niż Hornera tu nie działała
    chyba stopień 7 to za mało, trzeba by z 12.
    Uwaga: Gdy wykonywałem pomiar czasu za pomocą std::chrono biorąc większą
    lub mniejsza pętlę było źle, bo im większa pętla tym mniej na jedną
    funkcję. Więc wziąłem nie największą pętlę i jeszcze ją wykonałem 100
    razy biorą NAJMNIEJSZY rezultat a nie średni. Bywało źle, bo za
    pierwszym razem wykonywało się zwykle najwolniej, potem z 5 razy
    szybciej ale jeszcze nie tak, potem już tak samo.

    WNIOSEK: C++ jest tak szybkie, że nie trzeba się już przejmować postacią
    procedury.
    ALE z drugiej strony stopień 7 wielomianu to za mało aby zadziałała
    skomplikowana metoda, która miała przyśpieszyć Hornera.


  • 27. Data: 2016-09-16 12:54:27
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: Borneq <b...@a...hidden.pl>

    W dniu 16.09.2016 o 01:24, slawek pisze:
    > Tylko przez bezwład. Nowe pokolenie ewoluuje w kierunku Pythona i C++. A
    > że C++ jest szybsze niż Fortran stwierdzono już kilkanaście lat temu.

    Co ludzie z tym Pythonem? Wolny jak cholera.


  • 28. Data: 2016-09-16 13:58:01
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: joahim <w...@g...com>

    W dniu piątek, 16 września 2016 01:24:49 UTC+2 użytkownik slawek napisał:
    > On Thu, 15 Sep 2016 14:55:16 -0700 (PDT), Adam M
    > <amorawski@...> wrote:
    > > Ciagle w niektorych dziedzinach (fizyka nuklearna, symulacja
    > zjawisk pogodo=
    > > wych, astrofizyka, hydroakustyka) i na niektorych superkompuerach
    > jest ciag=
    >
    > Tylko przez bezwład. Nowe pokolenie ewoluuje w kierunku Pythona i
    > C++. A że C++ jest szybsze niż Fortran stwierdzono już kilkanaście
    > lat temu.

    Powiedz, próbowałeś kiedyś robić mapę w Pythonie?
    Matplotlib-basemap jest fajne, naprawdę.
    W trakcie liczenia jednej, prostej mapy na średnio-starym sprzęcie możesz pójść
    wyprowadzić psa i sprzątnąć pokój, serio!

    joahim


  • 29. Data: 2016-09-16 14:05:22
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: Borneq <b...@a...hidden.pl>

    W dniu 16.09.2016 o 13:58, joahim pisze:
    > Powiedz, próbowałeś kiedyś robić mapę w Pythonie?
    > Matplotlib-basemap jest fajne, naprawdę.
    > W trakcie liczenia jednej, prostej mapy na średnio-starym sprzęcie możesz pójść
    wyprowadzić psa i sprzątnąć pokój, serio!

    Jestem trochę nie w temacie. Co rozumiesz przez "mapę"?


  • 30. Data: 2016-09-16 14:10:49
    Temat: Re: Jak zacząć pracę z Fortranem?
    Od: joahim <w...@g...com>

    W dniu piątek, 16 września 2016 14:05:13 UTC+2 użytkownik Borneq napisał:
    > W dniu 16.09.2016 o 13:58, joahim pisze:
    > > Powiedz, próbowałeś kiedyś robić mapę w Pythonie?
    > > Matplotlib-basemap jest fajne, naprawdę.
    > > W trakcie liczenia jednej, prostej mapy na średnio-starym sprzęcie możesz pójść
    wyprowadzić psa i sprzątnąć pokój, serio!
    >
    > Jestem trochę nie w temacie. Co rozumiesz przez "mapę"?

    Taki obraz kawałka Ziemi w 2D.

    joahim

strony : 1 . 2 . [ 3 ] . 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: