-
31. Data: 2016-09-16 14:15:28
Temat: Re: Jak zacząć pracę z Fortranem?
Od: Borneq <b...@a...hidden.pl>
W dniu 16.09.2016 o 14:10, joahim pisze:
>> Jestem trochę nie w temacie. Co rozumiesz przez "mapę"?
>
> Taki obraz kawałka Ziemi w 2D.
Aha, to o to chodzi, bo zastanawiałem się jeszcze nad mapowaniem jednych
obiektów w drugie ;-)
-
32. Data: 2016-09-16 17:38:59
Temat: Re: Jak zacząć pracę z Fortranem?
Od: bartekltg <b...@g...com>
On 16.09.2016 13:58, joahim wrote:
> 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!
Python jest kretyńsko wolny.
Python z JITem nadal jest wolny, a do tego ograniczony.
Nikt nie obiecywał tu tego, że python dorówna fortranowi
pod względem prędkości. Miało to robić c++.
I w większośći przypadków to robi (np słynny przykłąd
z tym, że c++ zauważalnie wolniej operuje na zmiennych
zespolonych, wynika z tego, że dokonywał masy sprawdzeń,
których fortrana unikał, a które da się wyłączyć.
Za to template expression daje sporą przewagę, tzn
aby stworzyć bartdzo wydajny kod, starania zostają
częśćiowo przerzucone z twórcy programu na trórcę
biblioteki).
Fortran ma tę zaletę, że nie tylko jest w nim napisane
dużo ostrej numeryki, ale że cały czas się ją tam pisze.
Z drugiej strony, co to za problem podlinkować skompilowaną
fotrtranowską bibliotekę, i wywoływać ją z wygodnie pisanego
programu w c++ ;-)
Wracając do pythona, nie jest on zastępnikiem fortrana.
Jest raczej zastępnikiem matlaba i języków skyptowych,
przy tym dość sprawnie i szybko się w nim pisze.
Póki używasz numpy/scipy i wywołujesz gotowe skompilowane
funkcje, jest super. Gdy musisz w pętli robić
coś drobnoziarnistego, można się zastanowić,
czy nie warto przejść na coś innego. Też wszystko
zależy od proporcji czas pisania vs czas liczenia.
Jeśli zamiast 30minut ma to liczyć 5 minut, ale
wiesz, że odpalisz to tylko kilka razy, być może
przepisywanie na c++ nie ma sensu.
Ale jeśli całą symulacja trwa tydzień... poza
c++/fortran/c bym nie wychodził.
A jak tam Julia? Głośno było przez chwilę, język
interpretowany z bardzo dobrym kompilatorem JIT,
obiecywali wydajność java, w porywach c++,
miała właśnie zastapić jajogłowym pythona.
pzdr
bartekltg
-
33. Data: 2016-09-16 17:46:01
Temat: Re: Jak zacząć pracę z Fortranem?
Od: bartekltg <b...@g...com>
On 16.09.2016 12:53, Borneq wrote:
>
> WNIOSEK: C++ jest tak szybkie, że nie trzeba się już przejmować postacią
> procedury.
Tordzo złe sformułowanie. Radziłbym zmienić na:
"kompilator jest na tyle dobry, żę nie trzeba bawić się
w ręczną "sztuczkową" optymalizację".
A i to z zaznaczeniem, że "najczęśćiej".
> ALE z drugiej strony stopień 7 wielomianu to za mało aby zadziałała
> skomplikowana metoda, która miała przyśpieszyć Hornera.
I tu też jest problem.
Nie mówisz o postaci funkcji ale o dwóch różnych algorytmach,
o innych własnośćiach, w tym numerycznych (jak ona w ogóle się nazywa?)
pzdr
bartekltg
-
34. Data: 2016-09-16 17:47:49
Temat: Re: Jak zacząć pracę z Fortranem?
Od: slawek <f...@f...com>
On Fri, 16 Sep 2016 12:53:17 +0200, Borneq
<b...@a...hidden.pl> wrote:
> Obecne C/C++ jest szybkie do kresu możliwości.Sprawdzałem w VC 2015
w
Prawie. SIMD i CUDA wymiatają. Standardowo VC może np. nie zauważyć
że jest SSE5 czy AVX. Ale ogólnie mam dwie dobre zasady: nie kopać
się z koniem; nie optymalizować po kompilatorze.
-
35. Data: 2016-09-16 18:02:54
Temat: Re: Jak zacząć pracę z Fortranem?
Od: slawek <f...@f...com>
On Fri, 16 Sep 2016 12:54:27 +0200, Borneq
<b...@a...hidden.pl> wrote:
> Co ludzie z tym Pythonem? Wolny jak cholera.
Ale np. we Francji jest to w pewnych kręgach ulubiony język do
ściamkania i zrobienia obrazków z danych licznych przez pracujący
miesiącami program w Fortranie. Python robi za superglue.
Python robi obrazki tak łatwo jak Matlab, daje sobie radę z algebrą
symboliczną, jest przyjemny.
-
36. Data: 2016-09-16 18:09:36
Temat: Re: Jak zacząć pracę z Fortranem?
Od: slawek <f...@f...com>
On Fri, 16 Sep 2016 04:58:01 -0700 (PDT), joahim <w...@g...com>
wrote:
> Matplotlib-basemap jest fajne, naprawdę.
> W trakcie liczenia jednej, prostej mapy na średnio-starym sprzęci=
> e możesz pójść wyprowadzić psa i sprzątn?=
> ?ć pokój, serio!
Co w tym złego że będziesz miał trochę ruchu na świeżym powietrzu i
że będzie porządek w pokoju? Przecież to chyba właśnie zaleta
Pythona?
-
37. Data: 2016-09-16 18:12:15
Temat: Re: Jak zacząć pracę z Fortranem?
Od: slawek <f...@f...com>
On Fri, 16 Sep 2016 05:10:49 -0700 (PDT), joahim <w...@g...com>
wrote:
> Taki obraz kawałka Ziemi w 2D.
Anyway, na CDC6000 dało się robić mapy 3D jako anaglify na ploterze
tuszem.
-
38. Data: 2016-09-16 18:32:41
Temat: Re: Jak zacząć pracę z Fortranem?
Od: slawek <f...@f...com>
On Fri, 16 Sep 2016 17:38:59 +0200, bartekltg <b...@g...com>
wrote:
> Ale jeśli całą symulacja trwa tydzień... poza
> c++/fortran/c bym nie wychodził.
Java i C# też się nadają. Będzie trochę wolniej, ale ujdzie. Matlab
jest szybki: o ile dasz radę zapisać macierzowo i użyjesz CUDA.