Slobodno dostupni matematički paketi za gnu. Matematičke aplikacije FFTW i GNU Octave kao test za procesore i računare. Računarstvo u Mapleu

Besplatna matematika

Alexander Bikmeev razumije koliko je slobodna kompjuterska matematika i koliko je slobodni softver matematički.

Svaka nauka, od fizike do filologije, koristi dostignuća matematike. S tim u vezi, ne-matematičkim stručnjacima su potrebni alati koji bi im omogućili da postavljaju probleme u matematičkom obliku i dobiju rješenja u obliku formula ili skupa vrijednosti, odnosno potrebni su im kompjuterski matematički sistemi koji mogu preuzeti posao rješavanja matematički problemi korištenjem različitih metoda.

Nažalost, kod nas su ovakvi programi uobičajeni u prilično uskoj oblasti naučne delatnosti, a ne manje od svega to je zbog činjenice da školarci i studenti nisu upoznati sa stručnim matematičkim paketima, cena samo jedne licence za što često iznosi hiljade i desetine hiljada rubalja.

Pozivamo vas da zavirite u svijet besplatnih matematičkih paketa koji se mogu besplatno preuzeti s interneta, koristiti za bilo koju vrstu istraživanja (ponekad uz rezervu), a također, zahvaljujući dostupnosti izvornih tekstova, proučite njihove interne strukturu i po želji proširite njihovu funkcionalnost vlastitim snagama.

Simbolički proračuni

Sistemi računarske matematike (CM) se razvijaju dugo vremena, i Maxima() je bio jedan od prvih. U početku je to bio komercijalni proizvod, ali, nesposoban da izdrži konkurenciju, sistem je postao besplatan.

Shell wxMaxima i stavku menija koja vam omogućava da prikažete ili sakrijete panele matematičkih operacija sa ekrana.

Glavna prednost Maxima ispred ostalih besplatnih sistema je podrška za simboličko računanje. Odnosno, unosom analitičkog izraza ili jednačine možete dobiti i rezultat u analitičkom obliku.

Maxima omogućava vam da rešavate algebarske jednačine, sisteme jednačina, obavljate operacije integracije, diferencijacije, proširenja niza i tako dalje. Osim toga, može rješavati diferencijalne jednadžbe, granične probleme, Cauchyjeve probleme, izvoditi algebarske proračune s matricama, graditi grafove i površine definirane različitim funkcijama u kartezijanskim i polarnim koordinatnim sistemima. Teško je nabrojati sve mogućnosti.

Za SCM Maxima Razvijeno je nekoliko školjki, od kojih je najprikladnija (za korisnika početnika). wxMaxima(vidi sliku 1). Počevši od verzije 0.8.0, brzo se mijenja na bolje. Najnovija verzija (0.8.3) sadrži karakteristike poznatih komercijalnih paketa kao što su Maple I MathCAD. Rad u ovoj ljusci je prilično jednostavan i omogućava vam da dobijete prihvatljive rezultate nakon samo nekoliko minuta upotrebe. Mnoge operacije, čiji su nazivi prisutni u izborniku i na alatnim trakama, opremljene su praktičnim čarobnjacima koji vam omogućavaju rješavanje problema čak i bez poznavanja ugrađenog jezika i naredbi Maxima. Pa, još jedna važna činjenica - sve školjke za ovaj SCM su rusificirane. Također, gledajući besplatni paket Maxima, studenti će moći lakše da se naviknu na komercijalne pakete, što je zbog relativne sličnosti interfejsa i sintakse koja se koristi (posebno za Maxima I Maple).

Sistem je dobro dokumentovan, ali je referentni materijal predstavljen samo na engleskom jeziku. Naš časopis je objavio edukativne materijale o radu u SCM-u Maxima(LXF81–86). Budući da je aplikacija za konzolu, Maxima može raditi u batch modu, odnosno možete mu poslati tekstualnu datoteku sa listom naredbi za obradu i opet dobiti tekstualnu datoteku sa rezultatima, a ako smatrate da se izlaz može formatirati korištenjem markup sistema TeX, onda vam to omogućava da ga koristite kao osnovu za izgradnju vlastitih aplikacija. Jedan primjer takvog razvoja je proširenje TeXmacs.

Na osnovu postojećeg iskustva učenja, možemo reći da studenti mlađih razreda savladavaju rad u Maxima dovoljno brzo i početi ga koristiti prilikom ispunjavanja zadataka iz drugih predmeta. Ali sa svakim kursom imaju sve više problema.

Činjenica je da, uz veliki broj pozitivnih aspekata, Maxima ima i negativnih. Prvo, konačni rezultat, posebno kod rješavanja složenih problema, u velikoj mjeri ovisi o nivou znanja matematike i iskustva u korištenju datog SCM-a, jer ponekad morate sami izvršiti preliminarne transformacije. drugo, Maxima radi vrlo dobro s algebarskim izrazima, ali transcendentalni, logaritamski i slični izrazi joj zadaju značajne poteškoće. Međutim, ako je nemoguće dobiti analitičko rješenje, uvijek možete koristiti numeričke proračune. Treće, mogućnosti Maxima za konstruisanje složenih grafova ili vizualizaciju, na primer, vektorsko polje, ne može se porediti sa mogućnostima Maple. I konačno, četvrto, za pravilan rad potrebno je proučiti brojne naredbe i konstante Maxima, a za to je potrebno vrijeme i strpljenje.

SCM Maxima uključeno u mnoge Linux distribucije, ili barem potrebno da bude prisutan u spremištima. Uključen je u obrazovne proizvode kao što su AltLinux School, Edubuntu i EduMandriva.

Prozor SMath Studio, u kojem je funkcija definirana, izračunat je njen izvod i nacrtan graf.

Treba napomenuti da su inženjeri još uvijek navikli raditi s tako moćnom aplikacijom kalkulatora kao što je MathCAD. Ovo je sistem inženjerskog proračuna dostupan za bilo koju platformu (pogledajte Komercijalni paketi), ali uz ozbiljnu cijenu. Međutim, poslodavci zahtijevaju da diplomirani studenti budu u mogućnosti da rade u ovom sistemu. Šta treba da rade obrazovne institucije?

U našoj zemlji rođen je spasonosni projekat: SMath Studio(http://ru.smath.info/forum/). Ovo je besplatan, ali, nažalost, još ne besplatan proizvod, čiji programer, Andrej Ivašov, pokušava stvoriti alternativu čudovištu MathCAD, i on uspijeva (vidi sliku 2). Aplikacija je dizajnirana za okoliš .NET, a zatim prilagođen za Mono.

SMath Studio omogućava vam da izvodite analitičke proračune, matrične operacije, crtanje i izračunavanje izvedenica, pa čak i podržava funkcije programiranja. Nažalost, analitička integracija još nije podržana, ali proizvod se uspješno razvija, au jesen 2009. godine autor završava razvoj infrastrukture koja će omogućiti korištenje dodataka treće strane. Možda će tada razvoj aplikacije dostići novi nivo, a mi ćemo dobiti punopravnu alternativu MathCAD.

Također treba napomenuti da je u proljeće 2009. godine, po dogovoru sa autorom, proizvod uvršten u edukativnu distribuciju EduMandriva. Uprkos ograničenoj funkcionalnosti, ova aplikacija vam omogućava da obavljate svakodnevne proračune na nivou školaraca i mlađih studenata, kao i jednostavne inženjerske proračune. I ako to uzmete u obzir SMath Studio odlično se osjeća na džepnim računarima i pametnim telefonima kojima upravlja Windows Mobile, tako da je upoznavanje s njim obavezno za školarce i studente.

Službena web stranica uvijek sadrži dokumentaciju u DOC i ODT formatima, a na službenom forumu možete postavljati pitanja programeru ili zajednici i razgovarati o algoritmima korištenim u razvoju aplikacije.

Prozor wxMaxima sa rezultatima simboličkih proračuna i grafom funkcije

Da zaključim ovaj odeljak, želeo bih da skrenem pažnju na činjenicu da simbolički matematički paketi kao rezultat proizvode izraz, a ne broj. Razmotrite primjer prikazan na sl. 3, u kojem je definirana prilagođena funkcija i za nju je pronađen drugi izvod; tada je funkcija integrirana. Istovremeno je napravljen i raspored. Tako školarci i studenti mogu vizuelno izvršiti kompletnu analizu funkcije. I to nije sve: Maxima zna pojednostaviti izraze otvaranjem zagrada, donošenjem sličnih pojmova, izvođenjem supstitucija i specificiranjem određenih uslova i pretpostavki nametnutih izrazu. Dodajte ovome sposobnost simboličkog rješavanja jednačina i sistema jednačina, kao i diferencijalnih jednačina, i shvatit ćete da savremeni učenik ne može bez ovih alata, a nastavnici prirodnih nauka mogu oživjeti lekcije i praktične vježbe uvođenjem interaktivnih zadataka ili demonstracionog materijala. .

Numerički proračuni

Kao što znate, ne može se svaki problem riješiti analitički, odnosno rješenje se može dobiti u obliku određene formule. Tada razne numeričke metode dolaze u pomoć kako bi se dobilo rješenje s određenom točnošću. Najpoznatiji predstavnik aplikacija za numeričke proračune je sistem kompjuterske algebre (CAS) Matlab.

Matlabširoko rasprostranjen u cijelom svijetu (pogledajte poređenje u LXF109), ali cijena čak i obrazovnih licenci je izvan mogućnosti ne samo škola, već i mnogih ruskih univerziteta. U inostranstvu takođe više vole da broje novac - i ulažu ljudske resurse u razvoj besplatnih analoga Matlab. Pogledajmo neke od njih.

Prije svega, po mom mišljenju, vrijedi se fokusirati na projekat GNU Ostave(http://www.gnu.org/software/octave/). Programeri pozicioniraju ovaj sistem kao „programski jezik visokog nivoa za numeričke proračune“. Kao i mnogi dugogodišnji besplatni *nix projekti, on pruža interfejs komandne linije. Uđite u terminal oktava– i (ako, naravno GNU Octave instaliran na vašem računaru), pred vama će se pojaviti upit za ovaj sistem. Počnite kucati komande i terminal će prikazati rezultate proračuna.

Interfejs komandne linije ima svoje prednosti, jer praktički ne zauzima računske resurse računara, ostavljajući svu snagu procesora za same proračune, a ne za prekrasan prikaz komandnog teksta i rezultata proračuna. Pa ipak, moderni korisnik rijetko je voljan to podnijeti.

. Shell qtOctave sa izvršenim proračunima.

Za dugo vremena GNU Octave nije imao grafički interfejs dok se konačno nije pojavio qtOctave(vidi sliku 4). Ova ljuska je vrlo slična sučelju Matlab i omogućava vam da automatizirate izvršavanje nekih rutinskih operacija (na primjer, crtanje) pomoću čarobnjaka.

Sistemski jezik je napravljen što sličnijim jeziku Matlab; dakle, osoba koja je ovladala GNU Octave, moći će da radi praktično bez prekvalifikacije u Matlab, a to je upravo ono što poslodavcima treba. Osim toga, entuzijasti pokreta slobodnog softvera stvorili su dovoljan broj paketa proširenja za sistem. Zbog toga, funkcionalnost samog SKA-a stalno raste. Pa, prisutnost sveobuhvatne dokumentacije (iako na engleskom) kako za sistem tako i za pakete proširenja čini ovaj proizvod ne samo profitabilnim, već i pristupačnim za proučavanje.

Nedostaci uključuju ne baš prilagođeno korisničko sučelje ljuske qtOctave, pogotovo jer verzija nije ažurirana od jeseni 2008. (čini se da je projekat napušten). Paketi ekstenzija nisu bogati funkcijama i ne blistaju grafičkim mogućnostima; osim toga, nisu ekvivalentni, jer je situacija takva da je jedan projekat izradio student prve godine, a drugi, na primjer, tim univerzitetskih nastavnika. Ali ovo je potpuno besplatan projekt, s kojim ne morate brinuti o čistoći licenciranja rezultirajućih rješenja.

Sledeći paket koji bih želeo da razmotrim se zove Scilab(http://www.scilab.org), čiji sam naziv ukazuje na sličnost sa Matlab. U početku je to bio i komercijalni proizvod, i zvao se Blaise, i onda Basile. Njegovi kreatori bili su inspirisani prvim verzijama Matlab, i neko vrijeme su se takmičili. Međutim, početkom 90-ih Simulog je prestao da ga prodaje, a tada je šest programera Francuskog nacionalnog istraživačkog instituta (INRIA) osnovalo projekat Scilab.

Scilab izdvaja se od svojih vršnjaka po svom dobro razvijenom sučelju, prisutnosti prilično velikog broja specijaliziranih paketa ekstenzija i činjenici da ga podržava Konzorcij Scilab, koji uključuje glavne obrazovne i naučne institucije iz cijelog svijeta.

Interface Scilab 5

Scilab- jedini sličan besplatni sistem Matlab, koji ima svoj vlastiti alat za modeliranje blokova tzv Scicos. Distribucija proizvoda uključuje ugrađenu skriptu i uređivač funkcija sa mogućnostima otklanjanja grešaka. Scilab ima napredne grafičke mogućnosti za kreiranje visokotehnoloških aplikacija. Možete se upoznati sa funkcionalnostima sistema gledajući demo - neke od njih su prilično impresivne (odaberite stavke menija ? > Demonstracija sposobnosti).

Scilab sadrži funkcije ne samo za izvođenje svih vrsta operacija na matricama, već i za konstruiranje grafova i trodimenzionalnih površina u različitim koordinatnim sustavima, funkcije za rad s genetskim algoritmima, rješavanje problema na grafovima, statističke funkcije, alate za simulaciju i još mnogo toga. Godišnje se održava nekoliko konferencija posvećenih korištenju SKA Scilab u nauci, obrazovanju i proizvodnji.

U svijetu je objavljeno nekoliko knjiga koje opisuju rad u Scilab, kao i rješavanje niza specijalizovanih problema. Nažalost, nijedan od njih nije preveden na ruski jezik. U Rusiji su objavljene samo dvije knjige, jedna kao dio nacionalnog projekta, a druga Scilab opisano zajedno sa nebesplatnim paketima. Naš časopis je takođe više puta objavljivao udžbenike o radu u Scilab(LXF106–109 i ), a ipak dokumentacija još uvijek nedostaje, a referentni materijali vam ne dozvoljavaju uvijek da shvatite kako ova ili ona funkcija funkcionira.

Freemat- impresivan rezultat za šta je sposoban tim od tri istomišljenika.

Izdanje pete verzije Scilab označio je početak nove faze u razvoju sistema. Interfejs aplikacije se promijenio (programeri su napustili GTK-interface), alat za modeliranje blokova počeo se mijenjati Scicos, koja bi u oktobru 2009. godine trebala promijeniti naziv u Xcos.

Još jedna varijacija na temu Matlab je Freemat(); ovaj paket ima još jednu važnu zajedničku karakteristiku Matlab, odnosno podrška za objektno orijentirano programiranje. Interfejs programa je prilično prijatan. Automatsko dovršavanje komandi implementirano je u glavnom prozoru. Zvanična web stranica sadrži kompletan priručnik za rad sa sistemom (na engleskom). Distribucijski paket programa je mali, po današnjim standardima, veličine - 18 MB.

Sistem omogućava numeričko rešavanje jednačina i sistema jednačina, linearnih i nelinearnih, i numeričku obradu signala (vidi sliku 6); sposoban za rad sa višedimenzionalnim matricama. Glavne pozitivne tačke Freemat, u poređenju sa Scilab I Octave, su veća kompatibilnost internog jezika sistema sa jezikom Matlab i koristiti OpenGL za kreiranje grafikona i površina, čineći ih boljim.

Loše strane Freemat su niske performanse (neki zadaci se rješavaju mnogo puta sporije nego u drugim paketima) i nedostatak paketa proširenja. Ovaj sistem je razvijen samo kroz trud tima od tri osobe. Projekat nema veliku zajednicu.

Distance mathematics

Gore navedeni sistemi su lokalni projekti, odnosno rad sa njima se obavlja na jednoj mašini. Ali to može biti nezgodno – na primjer, kod učenja na daljinu; Osim toga, neće se svi učenici složiti (a ponekad i moći) da instaliraju ove aplikacije na svoje kućne računare. U ovom slučaju su potrebni alati za daljinski rad sa matematičkim paketima.

SMath Studio uživo: izračunajte bez napuštanja pretraživača (iako ne baš brzo).

Među onima koje smo razmotrili, takvu mogućnost pruža SMath Studio. U poglavlju Uživo Službena web stranica (http://smath.info/live) sadrži virtualni radni list na kojem svako može izvršiti svoje proračune. Sistem je veoma zgodan, iako nije naročito brz.

Pa ipak, sistem je profesionalniji u tom pogledu SAGE(http://www.sagemath.org/). Ovaj sistem se sastoji od web servera koji pruža grafički interfejs za interakciju sa kodom Python, na kojoj je napisano njegovo jezgro. Svaki korisnik koji koristi svoj omiljeni web pretraživač može se povezati na server, registrovati se i dobiti svoj lični prostor. Može biti otvoren ili zatvoren, odnosno dostupan samo administratoru servera i samom vlasniku. Radni listovi se mogu kreirati u ličnom prostoru i na njima se vrše svi proračuni.

U okviru radnog lista možete koristiti bilo koji dostupan jezik, a ima ih mnogo. Sistemski zadani SAGE kombinuje sledeće proizvode: GAP, Maxima, Python, R, LaTeX. Osim toga, mogu se povezati Oktava, Aksiom, Magma, Matematika, Matlab, Javor, Mupad i drugi. Kao rezultat, dobijamo jedan server za udaljeni rad koji nam omogućava da podučavamo bilo koje matematičke pakete i izvodimo proračune koristeći besplatne i komercijalne računarske matematičke sisteme.

. iz nepoznatih razloga, Sage odbija da radi Firefox, ali inače je ovo dobro rješenje za daljinski rad.

Sistem prava pristupa ličnim prostorima i mogućnost saradnje sa radnim listom od strane više korisnika odjednom omogućava vam da organizujete učenje na daljinu sa listom objašnjenja nastavnog materijala koji sadrži primere rešavanja problema, i listove ličnih zadataka za svakog učenika.

Trenutno postoji nekoliko javnih SAGE-serveri - možete se povezati s njima, pogledati listove objavljene u javnom domenu, kreirati svoj lični prostor i, u slučaju poteškoća, zatražiti pomoć od zajednice. Da biste to učinili, jednostavno učinite radni list javnim. Uvjeravam vas: ima puno ljudi koji su voljni da pomognu, jedini problem je što je radni jezik engleski.

Službena web stranica sadrži linkove do probnog javnog servera (http://www.sagenb.org), kao i edukativne materijale i knjige kreirane pomoću ovog sistema. Registrujte se i isprobajte SAGE– možda je ovo ono što tražite? Također je vrijedno napomenuti da se nismo uspjeli prijaviti na server Firefox, ali nije bilo problema u drugim pretraživačima.

Dakle, pogledali smo najpopularnije besplatne računarske matematičke sisteme. Na vama je da odlučite da li se mogu koristiti u obuci i za rad. Već smo se odlučili i ne žalimo.

Komercijalni sistemi

Među komercijalnim sistemima, tri najpopularnija su: Matlab(numerički proračuni), Maple(glavni naglasak je na simboličkim proračunima) i Mathematica(uspješno kombinuje težnje prve dvije). Snažan inženjerski paket se ističe MathCAD, budući da je to više veliki inženjerski kalkulator, a nije namjenjen za rješavanje složenih problema matematičke fizike ili teorije šifriranja, obrade signala i tako dalje.

Svi ovi paketi imaju verzije za najčešće platforme: Windows, Linux i Mac OS X. Evo cijene jedne licence ovih paketa za akademske institucije, prema Softline cjeniku:

  • Matlab– 30.765 rubalja;
  • Mathematica– 9002 rubalja;
  • Maple– 36.286 rubalja;
  • MathCAD– 5290 rub.

Možete sami izvući zaključke.

  • Tutorial

# wget https://dl.fedoraproject.org/pub/epel/7/x86_64/ # yum localinstall epel-release-6-7.noarch.rpm

I tek nakon toga yum install oktava će raditi.
Konačno, sve je spremno i program je instaliran.


# oktava GNU Octave, verzija 3.8.2 Autorsko pravo (C) 2014. John W. Eaton i drugi. Ovo je besplatni softver; pogledajte izvorni kod za uslove kopiranja. NEMA APSOLUTNO NIKAKVE GARANCIJE; čak ni za PRODAJNOST ili PRIKLADNOST ZA ODREĐENU NAMJENU. Za detalje upišite "garancija". Octave je konfigurisan za "x86_64-redhat-linux-gnu". Dodatne informacije o Octaveu dostupne su na http://www.octave.org. Molimo da doprinesete ako smatrate da je ovaj softver koristan. Za više informacija posjetite http://www.octave.org/get-involved.html Pročitajte http://www.octave.org/bugs.html da naučite kako podnijeti izvještaje o greškama. Za informacije o promjenama u odnosu na prethodne verzije, upišite "vijesti". oktava:1>

Matrične operacije

Hajde da ne gubimo vrijeme i radimo operacije koje se mogu ponoviti koristeći bc i awk, o kojima je bilo riječi prošli put. Hajde da se malo poigramo sa matricama.


Prvo jednostavnu transponovanje matrice:


oktava:1> A= A = 1 3 5 2 4 6 oktava:2> A" ans = 1 2 3 4 5 6

Pokušajmo riješiti sistem linearnih jednačina:


x + y + z = 9 2x + 4y - 3z = 1 3x + 6y - 5z = 0

Vozimo se u matrici A, vektor b i riješimo jednačinu Ax = b u matričnom obliku


oktava:1> A= A = 1 1 1 2 4 -3 3 6 -5 oktava:2> b= b = 9 1 0 oktava:3> x=A\b x = 7,00000 -1,00000 3,00000

Pronalazimo determinantu i svojstvene vrijednosti matrice.


oktava:4> det (A) ans = -1,00000 oktava:5> eig (A) ans = -2,88897 2,76372 0,12525

Kompleksni brojevi su takođe podržani u proračunima.


oktava:6> A=[-3 0 2; 1 -1 0; -2 -1 0] A = -3 0 2 1 -1 0 -2 -1 0 oktava:7> x=det (A) x = -6 oktava:8> y=eig(A) y = -1.00000 + 1.41421i -1.00000 - 1.41421i -2.00000 + 0.00000i

Funkcije i varijable

U Octaveu, varijable i funkcije su mnogo lakše kreirati nego, na primjer, u Javi ili C. Koristeći matrice kao primjer, već smo vidjeli kako deklarirati varijable. Kreiranje nove funkcije ima sljedeću sintaksu


funkcija = ime_funkcije (arg1, arg2, ..., argN) krajnja funkcija tijela funkcije
U pravilu se nova funkcija kreira ili u zasebnoj datoteci ili u datoteci Octave skripte
pre njenog prvog poziva. Ako namjeravate koristiti prilagođenu funkciju u različitim datotekama skripte, onda je, naravno, poželjno da je kreirate u zasebnoj datoteci. U GNU Octave, funkcijske datoteke imaju ekstenziju .m i automatski se učitavaju. Ime datoteke mora se striktno podudarati s imenom funkcije.

Napišimo funkciju za rješavanje kvadratne jednadžbe ax² + bx + c = 0


oktava:9> funkcija = quadr(a, b, c) > D = sqrt(b^2-4*a*c); > x1 = (-b-D)/(2*a); > x2 = (-b+D)/(2*a); > oktava krajnje funkcije:10> =kvadr(a, b, c) y1 = 2 y2 = 3

Grafički interfejs

Zapravo, ovdje govorimo o matematici komandne linije, ali još nije jasno kako prikazati graf funkcije na ekranu. Međutim, tu nema tajne - Gnuplot se koristi u ove svrhe. Možete prikazati Lorentz Attractor instaliranjem dodatnog paketa odepkg.


funkcija = froessler (vt, vx) vyd = [- (vx(2) + vx(3)); vx(1) + 0,2 * vx(2); 0,2 + vx(1) * vx(3) - 5,7 * vx(3)]; endfunction A = odeset("MaxStep", 1e-1); = ode78 (@froessler, , , A); podzaplet (2, 2, 1); grid("on"); plot (t, y(:,1), "-b;f_x(t);", t, y(:,2), "-g;f_y(t);", \ t, y(:,3 ), "-r;f_z(t);"); podzaplet (2, 2, 2); grid("on"); plot (y(:,1), y(:,2), "-b;f_(xyz)(x, y);"); podzaplet (2, 2, 3); grid("on"); plot (y(:,2), y(:,3), "-b;f_(xyz)(y, z);"); podzaplet (2, 2, 4); grid("on"); plot3 (y(:,1), y(:,2), y(:,3), "-b;f_(xyz)(x, y, z);");


Najprikladnija grafička ljuska za rad sa Octaveom je program QtOctave. Potonji je već stabiliziran i uključen u paket od izlaska Octave 4.0.

Šta je sledeće?

Može se postaviti pitanje: zašto su nam uopće potrebni otvoreni matematički paketi? Svima su potrebne kancelarijske aplikacije, ali ne moraju svi rješavati Poissonove jednačine koristeći Laplaceovu transformaciju dok sjedi kod kuće. Za univerzitete, MATLAB je mnogo jeftiniji nego za pojedince i komercijalne organizacije. Komercijalne organizacije će, ako je potrebno, pronaći sredstva i pustiti obične ljude da studiraju matematiku na univerzitetima ili broje u kolone.


Naravno, ovo je zabluda. Naučni proračuni koji se izvode korištenjem softvera otvorenog koda imaju dodatni „nivo zaštite“, jer po želji svako može ponoviti iste proračune i provjeriti valjanost rezultata. Isti proračuni rađeni na skupom softveru djelimično isključena mogućnost provjere rezultata. Problem je zapravo mnogo širi (tekst na engleskom) i ne radi se samo o otvorenim ili vlasničkim matematičkim programima. Nije tajna da naučni časopisi u pravilu ne zahtijevaju od autora da dostave podatke i metode dovoljne da garantuju ponavljanje eksperimentalnih rezultata i testiranje modela. Time se posebno često griješe ekonomisti i finansijeri, jednostavno klasifikujući svoje podatke. Provjera proračuna i zaključaka među uzorkom iz niza članaka sa „povjerljivim“ podacima Dodaj oznake

Ovaj članak je drugi u nizu posvećen različitim stvarnim aplikacijama koje se mogu koristiti za testiranje procesora, računara, laptopa i radnih stanica i koji će kasnije činiti osnovu novog testnog paketa iXBT Application Benchmark 2017. Podsjetimo da je u prvom U članku ove serije razmatrane su dvije specijalizovane aplikacije LAMMPS i NAMD, koje se koriste za rješavanje problema molekularne dinamike. U ovom članku ćemo se fokusirati na specijalizovane matematičke pakete FFTW i GNU Octave. Ove aplikacije, poput LAMMPS i NAMD, dio su dobro poznatog specijalizovanog testnog paketa SPECwpc 2.0. Štaviše, same računske zadatke (radno opterećenje) i komande za pokretanje programa sa odgovarajućim parametrima smo posudili iz paketa SPECwpc 2.0.

FFTW 3.3.5

GNU Octave okruženje podržava rad sa datotekama skripta (), a za pokretanje skripte koristi se naredba:

oktava-cli-4.0.3.exe

(Datoteka octave-cli-4.0.3.exe se nalazi u fascikli C:\Octave\Octave-4.0.3\bin\ kada se podrazumevano instalira paket.)

Za testiranje koristimo skript fajl koji implementira operacije sa petljama, izračunavanje integrala, brzu Fourierovu transformaciju i operacije sa matricama. Ovu skriptu nismo napisali od nule, već smo je preuzeli iz SPECwpc 2.0 paketa, koji uključuje test baziran na GNU Octave. Ova skripta se zove obench.m. Rezultat testa je vrijeme izvršenja skripte.

Testno postolje i metodologija ispitivanja

Za testiranje korištenjem FFTW i GNU Octave aplikacija sastavili smo klupu sa sljedećom konfiguracijom:

  • Procesor: Intel Core i7-6950X (Broadwell-E);
  • Matična ploča: Asus Rampage V Edition 10 (Intel X99);
  • Memorija: 4x4 GB DDR4-2400 (Kingston HyperX Predator HX424C12PBK4/16);
  • Video kartica: Nvidia Quadro 600;
  • Skladištenje: SSD Seagate ST480FN0021 (480 GB).

Tokom testiranja mjereno je vrijeme potrebno za izvođenje testnih zadataka.

Razmatrana je ovisnost rezultata testa o broju korištenih procesorskih jezgara, frekvenciji procesorskih jezgara i frekvenciji memorije.

Ovisnost rezultata o broju procesorskih jezgara

Broj jezgara Intel Core i7-6950X procesora korišćenih tokom testiranja regulisan je UEFI BIOS postavkama ploče Asus Rampage V Edition 10. Podsjetimo da je Intel Core i7-6950X procesor sa 10 jezgara, ali podržava Hyper -Threading tehnologija, tako da se operativni sistem i aplikacije posmatraju kao 20-core (ima 20 logičkih jezgara).

Nismo onemogućili Hyper-Threading tehnologiju i promijenili smo samo broj fizičkih procesorskih jezgara sa 1 na 10. U budućnosti ćemo govoriti o logičkim procesorskim jezgrama čiji se broj mijenjao sa 2 na 20 u koracima od 2.

Radna frekvencija svih procesorskih jezgara je fiksna na 4,0 GHz.

Kao što vidite, rezultati su se pokazali veoma čudnim. Tumačenje rezultata za GNU Octave paket je prilično jednostavno. U ovom paketu brzina izvršavanja testnog zadatka je praktički nezavisna od broja procesorskih jezgara, odnosno u verziji procesora Intel Core i7-6950X čak su i dvije logičke jezgre sasvim dovoljne za završetak testnog zadatka. Kako se broj dostupnih procesorskih jezgara povećava, zadatak se paralelizira, ali se udio opterećenja svake jezgre smanjuje proporcionalno njihovom broju. Kao rezultat toga, brzina izvršavanja testnog zadatka se ne mijenja kako se broj procesorskih jezgara povećava.

Ali sa FFTW aplikacijom sve je vrlo čudno i nelogično. Sa 6, 12 i 14 jezgara (logično), vrijeme izvršenja testnog zadatka postaje nenormalno dugo. U drugim slučajevima, vrijeme izvršenja testnog zadatka je približno isto. Rezultat je prilično čudan, ali je više puta provjeren.

Ako pogledate opterećenje CPU-a tokom izvođenja testa, situacija je sljedeća. Prvo, zadatak je paraleliziran na svim procesorskim jezgrama. Drugo, u nekim vremenskim periodima opterećenje procesorskih jezgara je malo, au drugim vremenima veliko. Štaviše, ovo ponašanje se opaža za bilo koji broj jezgara. A zašto, na određenom broju procesorskih jezgara, vrijeme izvršenja testa postaje nenormalno veliko, nejasno je.

Proveli smo dalje istraživanje ovog čudnog ponašanja testa. Da bismo to učinili, onemogućili smo Hyper-Threading tehnologiju na procesoru i ponovili testiranje u FFTW aplikaciji, mijenjajući broj fizičkih procesorskih jezgara sa 1 na 10. Rezultati testa su sljedeći:

Sa onemogućenom tehnologijom Hyper-Threading, rezultat je bio još nelogičniji. Sa 3, 5, 6, 7 i 9 jezgara vrijeme izvođenja testa je bilo veliko, a sa 1, 2, 4, 8 i 10 jezgara kratko. Odnosno, ispada da efikasnost paralelizacije zadatka zavisi od broja procesorskih jezgara, ali nikako u smislu da veći broj jezgara poboljšava rezultat. Sa određenim brojem jezgara zadatak je dobro paralelan, ali sa određenim brojem, slabo je paraleliziran.

Međutim, i dalje smo sumnjali u ispravnost naših zaključaka, jer u ovom slučaju nije riječ o pravom procesoru s dvije, četiri, šest i tako dalje, već o vještačkom blokiranju jezgri kroz BIOS matične ploče. Odlučili smo da ponovimo test sa još jednim procesorom – šestojezgarnim (12 logičkih jezgara uključujući Hyper-Threading) Intel Core i7-5820K. Kao što smo vidjeli, sa 6 fizičkih ili 12 logičkih procesorskih jezgara, vrijeme izvršenja testa postaje nenormalno visoko. I ovaj rezultat je potvrđen na Intel Core i7-5820K procesoru. Procesor je radio na 3,6 GHz. Sa svim jezgrama sa aktiviranom tehnologijom Hyper-Threading (12 jezgara), vrijeme izvršenja testnog zadatka je nenormalno dugo: 1886 s. Ako isključite jezgre uzastopno, tada je sa 10, 8, 4 i 2 jezgra vrijeme izvođenja testa 200-400 s, a sa 6 jezgara - 1235 s.

Kao što vidite, isti čudni rezultat se dobija na Intel Core i7-5820K procesoru kao i na Intel Core i7-6950X procesoru.

Uprkos ovoj čudnoj zavisnosti rezultata FFTW testa o broju procesorskih jezgara, odlučili smo da je ostavimo u paketu aplikacija koje će se koristiti u iXBT Application Benchmark 2017. Ova aplikacija jasno pokazuje da mnoga jezgra nisu uvek dobra. Ponekad se dešava drugačije.

Možda ćemo u konačnoj verziji smanjiti veličinu same Fourierove transformacije kako bismo isključili slučajeve u kojima takav test traje više od 30 minuta.

Ovisnost rezultata o frekvenciji procesora

Pogledajmo sada kako rezultati testiranja u FFTW i GNU Octave aplikacijama zavise od frekvencije procesora.

Frekvencija jezgra Intel Core i7-6950X procesora je promenjena u UEFI BIOS postavkama Asus Rampage V Edition 10 ploče promenom faktora množenja. Radna frekvencija svih jezgara je fiksna (tj. Turbo Boost mod je onemogućen). Korištena su sva procesorska jezgra (10 fizičkih/20 logičkih). Frekvencija je varirala od 3,0 GHz do 4,2 GHz u koracima od 200 MHz. Rezultati testa su sljedeći:

Kao što se može vidjeti iz rezultata testiranja, kako u FFTW paketu tako iu GNU Octave paketu, vrijeme izvršenja testa ovisi o frekvenciji procesora. U FFTW paketu, kada se frekvencija procesora poveća sa 3 na 4,2 GHz (povećanje od 40%), vrijeme izvršenja testa se smanjuje za 21%. U GNU Octave paketu, slično povećanje frekvencije procesora dovodi do 24% smanjenja vremena izvršavanja testnih zadataka.

Stoga je zavisnost rezultata FFTW i GNU Octave testa o frekvenciji procesora prilično tipična. Testni zadatak u GNU Octave paketu malo je bolji s frekvencijom procesora, a zadatak u paketu FFTW nešto lošije.

Ovisnost rezultata o frekvenciji memorije

Pogledajmo sada ovisnost brzine izvršavanja testnih zadataka o učestalosti rada memorije. DDR4 memorija je radila u četvorokanalnom režimu (jedan modul po kanalu), a frekvencija memorije je promenjena u postavkama UEFI BIOS-a u opsegu od 1600 MHz do 2800 MHz u koracima od 200 MHz. Tajmingi memorije su bili fiksni i nisu se mijenjali kada se frekvencija promijenila. Sva jezgra procesora radila su na 4,0 GHz.

Rezultati testa su sljedeći:

Kao što vidimo, brzina izvršavanja testnih zadataka u GNU Octave i FFTW paketima ni na koji način ne zavisi od radne frekvencije memorije. Barem u četvorokanalnom režimu rada, propusni opseg DDR4 memorije je sasvim dovoljan čak i na frekvenciji od 1600 MHz, a dalje povećanje memorijske frekvencije ne dozvoljava ubrzanje izvršavanja testnih zadataka.

Ovo je tipičan rezultat za većinu aplikacija. Aplikacije čija radna brzina ovisi o frekvenciji memorije prilično su izuzetak od pravila.

Zaključak

Dakle, u drugom članku naše nove serije, pogledali smo dva testa zasnovana na specijalizovanim matematičkim aplikacijama FFTW i GNU Octave. Koristeći 10-jezgarni Intel Core i7-6950X procesor kao primjer, pokazano je da su testni zadaci u ovim paketima paralelni na svim procesorskim jezgrama, ali ih ne mogu učitati 100%. Rezultat testa u GNU Octave aplikaciji praktički ne ovisi o broju procesorskih jezgri, a rezultat testa u FFTW aplikaciji, naprotiv, jako ovisi o broju procesorskih jezgri, ali je ta ovisnost vrlo čudna. Kod određenog broja jezgara (14, 12 i 6) vrijeme izvršenja testnog zadatka postaje nenormalno veliko, au svim ostalim slučajevima vrijeme izvršenja testnog zadatka neznatno ovisi o broju jezgara.

Osim toga, pokazano je da brzina izvršavanja testnih zadataka u paketima FFTW i GNU Octave linearno zavisi od frekvencije procesorskih jezgara (kada se frekvencija mijenja u rasponu od 3 do 4,2 GHz).

Konačno, pokazano je da vrijeme izvršavanja test zadataka u FFTW i GNU Octave aplikacijama ni na koji način ne ovisi o frekvenciji DDR4 memorije (u četverokanalnom modu i u rasponu od 1600 do 2400 MHz).

Postoji još jedna napomena koja se može napraviti u vezi sa FFTW i GNU Octave aplikacijama kada se koriste za testiranje. GNU Octave paket ima lošu ponovljivost i preporučljivo je napraviti pet pokretanja testa da biste dobili rezultat sa malom greškom. Aplikacija FFTW daje konzistentnije rezultate, ali ova aplikacija također zahtijeva najmanje tri probna rada.

U sljedećem članku iz ove serije, pogledat ćemo tri aplikacije koje se koriste za renderiranje 3D scena: POV-Ray 3.7, LuxRender 1.6 i Blender 2.77a.

Moderni matematički paketi mogu se koristiti i kao običan kalkulator, i kao sredstvo za pojednostavljenje izraza pri rješavanju bilo kakvih problema, te kao grafički ili čak zvučni generator. Interfejs sa Internetom je takođe postao standardan, a HTML stranice se sada generišu kao deo procesa proračuna. Sada možete riješiti problem i istovremeno objaviti napredak njegovog rješavanja svojim kolegama na svojoj početnoj stranici.

O programima matematičkog modeliranja i mogućim područjima njihove primjene možemo govoriti jako dugo, ali ćemo se ograničiti samo na kratak pregled vodećih programa, ukazujući na njihove zajedničke karakteristike i razlike. Trenutno, gotovo svi moderni CAE programi (Computer Aided Engineering, paketi za matematičko modeliranje) imaju ugrađene simboličke funkcije proračuna.

Dakle, čemu ovi programi služe i kako pomažu matematičarima? Koristeći opisani softver, možete uštedjeti mnogo vremena i izbjeći mnoge greške u proračunima. Imajte na umu da je raspon problema koje takvi sistemi rješavaju vrlo širok:

Izvođenje matematičkih istraživanja koja zahtijevaju proračune i analitičke proračune;

Razvoj i analiza algoritama;

Matematičko modeliranje i kompjuterski eksperiment;

Analiza i obrada podataka;

Vizualizacija, znanstvena i inženjerska grafika;

Razvoj grafičkih i računskih aplikacija.

Sljedeći matematički paketi smatraju se najpoznatijim i prilagođenim za matematička simbolička izračunavanja:

Paket Mathematica, prikazan na slici 1, ima široku primenu u proračunima u savremenim naučnim istraživanjima i postao je široko poznat u naučnom i obrazovnom okruženju.

Uprkos njihovom fokusu na ozbiljne matematičke proračune, sisteme časova Mathematica lako je naučiti i može ih koristiti prilično široka kategorija korisnika - univerzitetski studenti i nastavnici, inženjeri, diplomirani studenti, istraživači, pa čak i studenti na časovima matematike u opšteobrazovnim i specijalnim školama. škole. Istovremeno, opsežne funkcije programa ne preopterećuju njegovo sučelje i ne usporavaju proračune. Mathematica dosljedno pokazuje veliku brzinu za simboličke transformacije i numeričke proračune. Od svih sistema koji se razmatraju, program Mathematica je najkompletniji i univerzalniji, međutim, svaki program ima svoje prednosti i nedostatke.

Slika 1. Mathematica

Dakle, Mathematica je, s jedne strane, tipičan programski sistem zasnovan na jednom od najmoćnijih problemsko orijentisanih funkcionalnih programskih jezika visokog nivoa, dizajniran za rešavanje različitih problema (uključujući i matematičke), as druge, interaktivni sistem za rješavanje većine matematičkih problema interaktivno bez tradicionalnog programiranja. Mathematica, kao programski sistem, ima sve mogućnosti da razvije i kreira gotovo sve upravljačke strukture, organizuje ulaz/izlaz, rad sa sistemskim funkcijama i servisira sve periferne uređaje, a uz pomoć paketa za proširenje postaje moguće prilagoditi se potrebama bilo kojeg korisnika.

Nedostaci sistema Mathematica uključuju samo vrlo neobičan programski jezik, koji je, međutim, olakšan detaljnim sistemom pomoći.

Program Maple je svojevrsni patrijarh u porodici simboličkih matematičkih sistema i još uvijek je jedan od vodećih među univerzalnim simboličkim računarskim sistemima. On pruža korisniku pogodno intelektualno okruženje za matematička istraživanja na bilo kom nivou i posebno je popularan u naučnoj zajednici. Imajte na umu da je simbolički analizator programa Maple najmoćniji dio ovog softvera, stoga je posuđen i uključen u niz drugih CAE paketa, kao što su MathCad i MATLAB, kao i u Scientific WorkPlace i Math Office for Word paketi za pripremu naučnih publikacija.

Maple pruža pogodno okruženje za kompjuterske eksperimente, tokom kojih se pokušavaju različiti pristupi problemu, analiziraju određena rješenja i, ako je programiranje potrebno, odabiru se fragmenti koji zahtijevaju posebnu brzinu. Paket vam omogućava da kreirate integrisana okruženja uz učešće drugih sistema i univerzalnih programskih jezika visokog nivoa. Kada su proračuni napravljeni i trebate formalizirati rezultate, možete koristiti alate ovog paketa da vizualizirate podatke i pripremite ilustracije za objavljivanje. Da biste završili posao, ostaje samo da pripremite štampani materijal u okruženju Maple, a zatim možete preći na sljedeću studiju. Rad je interaktivan - korisnik unosi komande i odmah vidi rezultat njihovog izvršenja na ekranu (slika 2). U isto vrijeme, paket Maple uopće nije sličan tradicionalnom programskom okruženju, koje zahtijeva strogu formalizaciju svih varijabli i akcija s njima. Ovdje se automatski osigurava izbor odgovarajućih tipova varijabli i provjerava ispravnost operacija, tako da u opštem slučaju nema potrebe opisivati ​​varijable i strogo formalizirati zapis.

Slika 2. Javor

Maple je dobro izbalansiran sistem i neprikosnoveni lider u simboličkim računarskim sposobnostima za matematiku. U isto vrijeme, originalni simbolički motor ovdje je kombinovan sa strukturiranim programskim jezikom koji se lako pamti, tako da se Maple može koristiti i za male zadatke i za velike projekte.

Jedini nedostaci Maple sistema su njegova donekle „promišljena“ priroda, što nije uvek opravdano, kao i veoma visoka cena ovog programa.

MATLAB sistem, prikazan na slici 3, pripada srednjem nivou proizvoda namenjenih simboličkoj matematici, ali je dizajniran za široku upotrebu u oblasti CAE.

MATLAB je jedan od najstarijih, pažljivo razvijenih i vremenski testiranih sistema za automatizaciju matematičkih proračuna, izgrađen na naprednom predstavljanju i primeni matričnih operacija. To se ogleda u samom nazivu sistema - MATrix LABoratory, odnosno matrična laboratorija. Međutim, sintaksa sistemskog programskog jezika je tako pažljivo osmišljena da ovu orijentaciju gotovo i ne osjećaju oni korisnici koji nisu direktno zainteresirani za matrične proračune.

MATLAB biblioteke karakteriše velika brzina numeričkih proračuna. Međutim, matrice se široko koriste ne samo u takvim matematičkim proračunima kao što su rješavanje problema linearne algebre i matematičko modeliranje, proračun statičkih i dinamičkih sistema i objekata. Oni su osnova za automatsko sastavljanje i rješavanje jednačina stanja dinamičkih objekata i sistema. Upravo univerzalnost aparata za matrični račun značajno povećava interesovanje za MATLAB sistem, koji je apsorbovao najbolja dostignuća u oblasti brzog rešavanja matričnih problema. Stoga je MATLAB odavno izašao iz okvira specijalizovanog matričnog sistema, postavši jedan od najmoćnijih univerzalnih integrisanih sistema kompjuterske matematike.

Slika 3. MATLAB

Među nedostacima MATLAB sistema možemo napomenuti nisku integraciju okruženja (mnogo prozora s kojima je bolje raditi na dva monitora), ne baš jasan sistem pomoći (obim vlasničke dokumentacije dostiže skoro 5 hiljada stranica , što otežava pregled) i specifičnim MATLAB programima za uređivanje koda (slika 4). Danas se MATLAB sistem široko koristi u tehnologiji, nauci i obrazovanju, ali je ipak pogodniji za analizu podataka i organizovanje proračuna nego za čisto matematičke proračune.

Za razliku od moćnog MATLAB paketa, koji je fokusiran na visoko efikasne proračune u analizi podataka, MathCad program je prilično jednostavan, ali napredan matematički uređivač teksta sa širokim mogućnostima simboličkog izračunavanja i odličnim interfejsom. MathCad nema programski jezik kao takav, a mašina za simboličko izračunavanje je pozajmljena iz paketa Maple. Ali sučelje MathCad programa je vrlo jednostavno, a mogućnosti vizualizacije su bogate. Sva izračunavanja ovdje se izvode na nivou vizualnog snimanja izraza u uobičajeno korištenom matematičkom obliku. Paket ima dobre savjete, detaljnu dokumentaciju, funkciju obuke, niz dodatnih modula i pristojnu tehničku podršku proizvođača. Međutim, do sada su matematičke mogućnosti MathCad-a u oblasti kompjuterske algebre mnogo inferiornije u odnosu na sisteme Maple, Mathematica, MATLAB. Međutim, mnoge knjige i kursevi za obuku su objavljeni na MathCad programu. Danas je ovaj sistem postao međunarodni standard za tehničko računarstvo, a čak i mnogi školarci uče i koriste MathCad.

Slika 4. MathCad

Za malu količinu proračuna MathCad je idealan - ovdje se sve može obaviti vrlo brzo i efikasno, a zatim se rad može formatirati u uobičajenom obliku (MathCad pruža široke mogućnosti za formatiranje rezultata, čak i njihovo objavljivanje na Internetu). Paket ima pogodne mogućnosti uvoza/izvoza podataka. Na primjer, možete raditi s Microsoft MS Excel tabelama direktno unutar MathCad dokumenta.

Općenito govoreći, MathCad je vrlo jednostavan i zgodan program koji se može preporučiti širokom krugu korisnika, uključujući i one koji nisu baš upućeni u matematiku, a posebno one koji tek uče njene osnove.

Jeftiniji, jednostavniji paketi uključuju UMS i Microsoft MS Excel.

Nekada su sistemi simbolične matematike bili namenjeni isključivo uskom krugu profesionalaca i radili su na velikim računarima. Ali sa pojavom računara, ovi sistemi su redizajnirani za njih i dovedeni na nivo masovnih serijskih softverskih sistema. Danas na tržištu koegzistiraju simbolički matematički sistemi različitih kalibara - od MathCad sistema dizajniranog za širok spektar potrošača do kompjuterskih čudovišta Mathematica, MATLAB i Maple, koji imaju hiljade ugrađenih i bibliotečkih funkcija, široke mogućnosti za grafičku vizualizaciju proračuna i razvijenih alata za izradu dokumentacije.

Imajte na umu da skoro svi ovi sistemi ne rade samo na personalnim računarima opremljenim popularnim Windows operativnim sistemima, već i na Linux, UNIX, Mac OS operativnim sistemima, kao i na PDA uređajima.

Pređimo na pakete koji se najčešće koriste u školama prilikom izvođenja nastave matematike u srednjoj školi. To uključuje: Universal Math Solver (UMS), Microsoft MS Excel.

UMS program - "Univerzalni matematički rješavač" omogućava rješavanje problema iz mnogih dijelova algebre i analize. Poznavanje "Univerzalnog Solvera" pokriva skoro ceo kurs algebre i analize u srednjoj školi i prvim godinama visokog obrazovanja.

Za razliku od brojnih moćnih matematičkih paketa, UMS je dostupan za brzo učenje zahvaljujući jednostavnom interfejsu i bavi se predloženim problemima isključivo koristeći „školske“ metode, formalizujući sve faze rješenja onako kako bi to radio nastavnik (slika 5).

Ako posmatramo praktičnu vrijednost Universal Math Solver-a šire, onda će aplikacija uspješno služiti roditeljima koji su navikli da prate domaći zadatak svog djeteta, te nastavnicima matematike. Potonji mogu koristiti interaktivne mogućnosti programa u obrazovnom procesu, stavljajući objašnjenje rješenja problema na „ramena“ nastavnika elektronike.

Universal Math Solver dolazi u dva izdanja - desktop i online. Cijena godišnje licence za jednu instalaciju prve verzije je 3000 tenge, cijena online izdanja je tri puta veća.

Slika 5. Univerzalno matematičko rješenje

Nažalost, u školskoj praksi nije moguće koristiti tako moćne matematičke pakete kao što su Mathematica, Mathcad, MathLab, Maple zbog visoke cijene njihovih licenciranih kopija. Međutim, MS Office aplikacije su dostupne u svakoj školi. Upotreba matematičke ljuske procesora uredskih proračunskih tablica MS Excel omogućava rješavanje matematičkih problema visoke složenosti.

Aplikacioni softverski paketi

Biblioteke aplikacija

Softver za podršku

Kompajleri

MPI

Alati za analizu performansi

Biblioteke

Korištenje GUI na klasteru

Paket AmberTools

AmberTools je paket programa za biomolekularno modeliranje i analizu. Komercijalni paket. Dostupna verzija AmberTools12.

Program je instaliran na superkompjuter Lomonosov

FireFly paket (PC-GAMESS)

Za rad sa paketom POTREBNO licenca. Čak i ako ga već imate, kontaktirajte autora programa (A. Granovsky) i zatražite dozvolu za rad na superkompjuteru. Nakon što dobijete dozvolu, imat ćete pristup programu.

FlowVision paket

Program je instaliran na superkompjuter Lomonosov.

Gmsh paket

Gmsh je besplatni 3D generator mreže konačnih elemenata sa ugrađenom pre- i naknadnom obradom.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

Trenutna verzija softvera

na Lomonosovu - 3.0.5,

na Lomonosov-2 - 3.0.6, 3.0.7

Putanja u sistemu datoteka gdje je paket instaliran

Lomonosov 2

Putanja u sistemu datoteka gdje je paket instaliran

Superkompjuter "Lomonosov-2" (verzija 2015.1.29)

Rezultati testiranja performansi NAMD paketa na superkompjuteru Lomonosov i poređenje sa Cray XE6 dostupan ovdje

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

netCFD paket 4.1.3

NetCDF (network Common Data Form) je skup interfejsa za pristup nizovima naučnih podataka i slobodno distribuiranim bibliotekama za C, Fortran, C++, Java i druge jezike. netCDF biblioteke podržavaju mašinski nezavisan prikaz podataka. Web stranica projekta: https://www.unidata.ucar.edu/software/netcdf/

Možete konfigurirati okruženje za rad s paketom koristeći sljedeće naredbe:
modul load intel; modul load impi

Program je instaliran na superkompjuter Lomonosov.

Octave paket

Besplatni matematički računarski sistem koji koristi jezik visokog nivoa kompatibilan sa MATLAB-om.

Program je instaliran na superkompjuter Lomonosov.

Putanja u sistemu datoteka gdje je paket instaliran

/opt/software/octave-4.0.1/

OpenFOAM paket

U SK "Lomonosov" paket se sklapa u nekoliko verzija, ali preporučujemo najnoviju verziju instaliranu u katalogu /opt/software/OpenFOAM-2.3.1. Prvo morate preuzeti openfoam/2.3.1 modul. Prije korištenja paketa morate pokrenuti naredbu izvor /opt/software/OpenFOAM-2.3.1/etc/bashrc .

Paket je napravljen sa IntelMPI, tako da prilikom pokretanja koristite omotač skriptu impi.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

Putanja u sistemu datoteka gdje je paket instaliran

Program je instaliran na superkompjuter Lomonosov.

Schrodinger paket

Schrodinger softverski paket je softver za molekularno modeliranje i dizajn koji koristi metode bazirane na ligandima i strukturi.

Program je instaliran na superkompjuter Lomonosov-2.

Naziv i verzija softvera

Schrödingerovo izdanje 2018-1, Schrödingerovo izdanje 2017-4

Paket je komercijalan i ima probnu verziju

Kontakti za tehničku podršku (proizvođač softvera)

Možete kontaktirati tehničku podršku putem obrasca na web stranici; na ovoj stranici postoji i „baza znanja u kojoj možete pokušati pronaći odgovor na svoje pitanje“.

Putanja u sistemu datoteka gdje je paket instaliran

/opt/software/schrodinger2018-1

/opt/software/schrodinger2017-4

Opis procedure za instaliranje i konfigurisanje paketa, sa naznakom specifičnosti
parametri koji se koriste u sistemu

  1. Raspakujte preuzetu distribuciju:

tar -xvf Schrodinger_Internet_Download.tar

  1. Idite na raspakirani direktorij:

cd Schrodinger_Internet_Download

  1. Pokrenite instalacijsku skriptu:
  1. Unesite informacije koje zahtijeva instalacijska skripta

Opis postupka testiranja paketa

Ovaj paket pruža dijagnostičku proceduru; za dijagnostiku pokrenite dijagnostički uslužni program koji pokreće provjere i izvješćuje o rezultatima

/opt/software/schrodinger2018-1/installation_check

/opt/software/schrodinger2017-4/diagnostics

Paket SPILADY

SPILADY je kompjuterski program napisan u Culham centru za fuzijsku energiju, Uprava za atomsku energiju Ujedinjenog Kraljevstva, Oxfordshire OX14 3DB, UK, od marta 2014. do jula 2015. To je kod za dinamiku spin rešetke namijenjen da se koristi kao uvodni alat za kompjutersku simulaciju za studente, naučnike, istraživače i druge koji su upoznati sa molekularnom dinamikom.

Opis postupka instalacije.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

Turbomole paket

Paket za rješavanje problema kvantne hemije ab initio. - početna stranica paketa. Informacije o radu sa paketom na klasteru Lomonosov - .

Program je instaliran na superkompjuter Lomonosov.

Da biste koristili paket, preuzmite vasp modul.

Pokrenite primjer: sbatch -p test -N 3 --ntasks-per-node 8 impi vasp_std

Putanja za instalaciju programa

WRF paket

WRF - Model istraživanja i prognoze vremena - m Model meteoroloških istraživanja i prognoze je sljedeća generacija mezoskalnog numeričkog sistema za prognozu vremena dizajniran za oba istraživanja atmosfere i operativnu prognozu.

Program je instaliran na superkompjuter Lomonosov.

Instaliran u korisničkom direktoriju

Kontakti za tehničku podršku (proizvođač softvera).

Anakonda

Paket Anaconda2 vam omogućava preuzimanje i instaliranje različitih verzija Pythona i raznih Python API-ja, pri čemu su svi API-ji već unaprijed konfigurirani i testirani, što uvelike pojednostavljuje zadatke razvoja i obuke neuronskih mreža i drugih naučnih projekata.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

Da biste koristili paket Anaconda 2 u ssh sesiji na Lom-2, trebate pokrenuti naredbu:

modul load anaconda2/2.5.0

Ova naredba učitava Python 2.7 anaconda okruženje u vaše okruženje sesije, ovo okruženje također ima niz unaprijed instaliranih Python API-ja, možete pogledati listu API-ja pomoću naredbe:

Ovo okruženje može uređivati ​​samo administrator klastera.

Jupyter Notebook

Jupyter Notebook je web aplikacija otvorenog koda koja vam omogućava da zajedno pohranjujete kod, slike, komentare, formule i grafikone. Uključuje: čišćenje i transformaciju podataka, numeričko modeliranje, statističko modeliranje, vizualizaciju podataka, mašinsko učenje i još mnogo toga.

Da biste ga koristili na Lomonosov-2, morate konfigurirati prosljeđivanje X

Caffe

Okruženje za duboko učenje koje je razvio Yangqing Jia tokom svoje disertacije na Berkeleyju. Caffe je softver otvorenog koda koji se distribuira pod BSD licencom. Napisan je na C++ i podržava Python interfejs. Dostupna verzija caffe verzija 1.0.0

/opt/ccoe/caffe

Mogu se postaviti tehnička i druga pitanja

Program je instaliran na superkompjuter Lomonosov-2.

Keras

Keras je API neuronske mreže visokog nivoa napisan na Python-u i sposoban da radi na TensorFlow, CNTK ili Theano. Dizajniran je s naglaskom na omogućavanju brzog eksperimentiranja.

Keras vam omogućava da:

Lako i brzo kreirajte prototipove (zahvaljujući praktičnosti, modularnosti i proširivosti).
- Podržava i ultra precizne mreže i rekurentne mreže, kao i kombinacije ova dva.
-Podržava rad na procesoru (CPU) i grafičkoj procesorskoj jedinici (GPU).

Program je instaliran na superkompjuter Lomonosov-2.

MATLAB_Vrijeme rada

MATLAB Runtime je samostalni skup zajedničkih biblioteka koji vam omogućava da pokrenete kompajlirane MATLAB aplikacije ili komponente. Paket je licenciran pod MATLAB RUNTIME LICENSE ako pokrećete kompajlirane Matlab aplikacije koristeći ovaj paket.

Trenutna verzija softvera

Putanja u sistemu datoteka gdje je paket instaliran

Program je instaliran na superkompjuter Lomonosov.

Program je instaliran na superkompjuter Lomonosov-2.

Torchvision

TorchVision je biblioteka za upravljanje slikama. Sadrži pomoćne funkcije za obradu slika tako da se mogu koristiti u neuronskim mrežama. Takođe sadrži popularne skupove podataka slika, arhitekture modela i opšte transformacije slike za kompjuterski vid.

Program je instaliran na superkompjuter Lomonosov-2.

GNU kompajleri

skup kompajlera za različite programske jezike koje je razvio GNU projekat. GCC je slobodan softver, koji distribuira Free Software Foundation (FSF) pod uslovima GNU GPL i GNU LGPL, i ključna je komponenta GNU alata. Koristi se kao standardni kompajler za besplatne operativne sisteme slične UNIX-u.

Program je instaliran na superkompjuter Lomonosov.

Intel kompajleri (C/C++, Fortran77/Fortran90 jezici)

podržavaju različite nivoe optimizacije za 32 i 64-bitne aplikacije u jednom paketu i OpenMP tehnologiju paralelnog programiranja, koja vam omogućava da kreirate efikasne programe za moderne višejezgarne procesore. Kompajleri dolaze sa simboličkim programom za otklanjanje grešaka, Intel Debugger, koji može raditi u gdb ili dbx kompatibilnim modovima i integriše se sa takvim grafičkim školjkama za otklanjanje grešaka kao što su ddd, Eclipse, Allinea. Program za otklanjanje grešaka podržava i OpenMP aplikacije sa više niti i one napisane korišćenjem sučelja nativnih niti. Pokrenute niti automatski dolaze pod kontrolu programa za otklanjanje grešaka, a većina njegovih naredbi se može primijeniti na jednu ili sve niti istovremeno.

Trenutna verzija: 12.0.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

Intel VTune pojačalo XE 2011

Inte-ov najnoviji profiler performansi, VTune™ Amplifier XE, izgrađen je na vrhu popularnog Intelovog analizatora performansi. Uključuje sve karakteristike Intelovog paralelnog pojačala, plus niz dodatnih funkcija posebno dizajniranih za programere koji žele sveobuhvatniji pristup.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

ACML biblioteka

AMD Core Math Library(AMD Core Math Library) je biblioteka koju je izdao AMD. Ova biblioteka pruža podršku za korisne matematičke funkcije optimizovane za AMD procesore, ali dobro funkcioniše i za Intel procesore.

Program je instaliran na superkompjuter Lomonosov.

Intel Composer XE

Alati za programiranje klastera su kombinovani u Intel Composer XE paket. Ovo uključuje Intel MPI biblioteku, Intel Cluster MKL optimizovanu paralelnu matematičku biblioteku i namenski Intel Trace Analyzer & Collector alat za kreiranje efikasnih, skalabilnih paralelnih programa.

Program je instaliran na superkompjuter Lomonosov.

Trenutna verzija: 2015.0.090.
Web stranica: https://software.intel.com/en-us/intel-devtools-by-os/linux

Intel MPI biblioteka

Intel® MPI biblioteka poboljšava performanse aplikacija na klasterima zasnovanim na Intel® arhitekturi implementacijom MPI-2 specifikacije visokih performansi u više infrastruktura. Korištenje ove biblioteke osigurava maksimalnu performansu krajnjeg korisnika čak i kada se interkonekcije mijenjaju ili ažuriraju. Nisu potrebne značajne modifikacije softvera ili operativnog okruženja. Koristite ovu biblioteku sučelja za prosljeđivanje poruka visokih performansi za razvoj programa koji se mogu izvoditi preko višestrukih komunikacijskih veza klastera koje je korisnik odabrao tijekom izvršavanja aplikacije. Intel takođe obezbeđuje besplatan runtime kit za proizvode razvijene pomoću Intel MPI biblioteke. Osigurajte najbolje performanse u klasi u HPC sistemima preduzeća, poslovnih jedinica, odjela i radnih grupa

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

Trenutna verzija: 5.0.1 ("Lomonosov")
Web stranica: https://software.intel.com/en-us/mpi-library/documentation/get-started

PGI kompajler

PGI radna stanica - skup kompajlera i alata za naučne i inženjerske svrhe. PGI Workstation je dostupna u Fortran i C/C++ izdanjima. Uključuje Fortran 2003, FORTRAN 77, HPF kompajlere za paralelizaciju i optimizaciju softvera, OpenMP C++ i ANSI C kompajlere. C++ prevodilac prati ANSI standard i podržava cfront verzije 2 i 3. Sve C++ funkcije su kompatibilne sa Fortranom i C funkcijama PGI Workstation uključuje PGDBG OpenMP i MPI paralelni debager i komponentu za optimizaciju profila PGPROF, koja može ukloniti greške i profilirati do osam lokalnih MPI procesa.Također sadrži unaprijed kompajliranu biblioteku za prosljeđivanje MPICH poruka. Postoji podrška za CUDA Fortran, ACML, OpenACC, FMA4

Trenutna verzija softvera

Putanja u sistemu datoteka gdje je paket instaliran

Trenutna verzija: 11.2.0 ("Lomonosov")
Web stranica: https://software.intel.com/mkl

OpenMPI

Open MPI je nasljednik LAM/MPI i podržan je od strane konzorcijuma akademskih, razvojnih i proizvodnih partnera. OpenMPI je otvorena, besplatna implementacija MPI-2 tehnologije. Može se koristiti za paralelne proračune na računarskim klasterima.

  • puna podrška za MPI-2;
  • rad u heterogenom okruženju;
  • Podrška za rad pod kontrolom sistema čekanja;
  • Rad u 32- i 64-bitnim okruženjima;
  • Visoke performanse na svim platformama;
  • Visoka tolerancija;
  • Dobra skalabilnost;

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

PathScale Compiler Suite

visoko optimizirani kompajler arhitekture. To je razvoj MIPSPro kompajlera koji je kreirala kompanija za MIPS R10000 mikroprocesore. Razvijena od strane američke kompanije PathScale

Program je instaliran na superkompjuter Lomonosov.

Python

Python je programski jezik visokog nivoa koji ima za cilj poboljšanje produktivnosti programera i čitljivosti koda. Paket se slobodno distribuira pod licencom Python Software Foundation. Da biste instalirali potrebnu verziju Pythona na Lomonosov-2, koristi se anaconda paket koji vam omogućava da kreirate Python okruženje i instalirate API za njega.

Program je instaliran na superračunarima Lomonosov i Lomonosov-2.

TotalView

Vlasnički program za otklanjanje grešaka za C++ i Fortran jezike koji radi na UNIX-kompatibilnom OS-u i Mac OS X-u, na nekoliko platformi. Omogućava vam da kontrolišete niti izvršavanja (niti), prikazujete podatke iz jedne ili svih niti i može sinhronizovati niti kroz tačke prekida. Program za otklanjanje grešaka takođe uključuje alate za pronalaženje curenja memorije (kasnije takođe dostupno kao poseban program MemoryScape) i za alokaciju memorije na bazi hrpe. TotalView uključuje mogućnost provjere promjena tokom otklanjanja grešaka. Podržava udaljeno otklanjanje grešaka kao i paralelne programe koji koriste MPI, OpenMP, UPC, GlobalArrays. Instaliran na značajnom broju superračunara sa liste top500. Otklanja greške u programima napisanim u C, C++, Fortran.

Za korištenje prvo preuzmite modul:

modul load totalview

Program je instaliran na superkompjuter Lomonosov.

Allinea DDT

Allinea DDT debugger iz Allinea Software je dizajniran posebno za paralelne petaflop sisteme, to jest, sa stotinama hiljada procesorskih jezgara. Nova verzija je brža i efikasnija. DDT arhitektura je takva da je vrijeme odziva proporcionalno logaritmu broja procesorskih jezgara. Testirano i poboljšano na pravim ogromnim sistemima. Jedan od poligona su superkompjuteri Cray XT5. Među kupcima je Ministarstvo energetike SAD-a.

Program je instaliran na superkompjuter Lomonosov.

ScaLAPACK

ScaLAPACK (Scalable Linear Algebra PACKage) je biblioteka otvorenog koda koja uključuje podskup LAPACK procedura redizajniranih za upotrebu na MPP računarima, uključujući: rješavanje sistema linearnih jednačina, inverziju matrice, ortogonalne transformacije, pretraživanja svojstvenih vrijednosti, itd. Trenutno u to vrijeme, napisan je u stilu Single-Program-Multiple-Data koristeći eksplicitno prosleđivanje poruka za međuprocesorsku komunikaciju.

ScaLAPACK je razvijen koristeći PBLAS i BLACS, i namijenjen je za računanje na bilo kojem računaru ili klasteru koji podržava MPI ili PVM. Alternativa ScaLAPACK-u je PLAPACK funkcijski paket.

Verzija: 20120718

Program je instaliran na superkompjuter Lomonosov.

ATLAS

ATLAS (Automatically Tuned Linear Algebra Software) je biblioteka koja vam omogućava da automatski generišete i optimizujete numerički softver za procesore sa organizacijom memorije na više nivoa i funkcionalnim uređajima sa cevovodom. Na osnovu BLAS nivoa 3 (Nivo 3). ATLAS-u je potrebno neko vrijeme da nauči osnovne parametre arhitekture ciljnog računala, a zatim proizvede "optimalni" kod baziran na tim parametrima.

Biblioteka je razvijena u Argonne National Laboratory/MCS odjelu. Distribuira se besplatno.

Program je instaliran na superkompjuter Lomonosov.

BLAS

BLAS (Basic Linear Algebra Subprograms) je de facto standard sučelja za programiranje aplikacija za kreiranje biblioteka koje izvode osnovne operacije linearne algebre, kao što su množenje vektora i matrica. Prvi put je objavljen 1979. godine i korišten je za kreiranje većih paketa kao što je LAPACK. Intenzivno korišćene u računarstvu visokih performansi, visoko optimizovane implementacije BLAS interfejsa razvili su proizvođači hardvera kao što je Intel, kao i drugi (na primer, ATLAS - Portable Self-Optimizing BLAS). LINPACK Benchmark se u velikoj mjeri oslanja na DGEMM, potprogram BLAS-a, za rad.

LAPACK

LAPACK (Linear Algebra PACKage) je biblioteka otvorenog koda koja sadrži rješavače za osnovne probleme linearne algebre. Napisano na Fortranu koristeći drugu BLAS biblioteku.

Program je instaliran na superkompjuter Lomonosov.

FFTW

FFTW biblioteka je skup modula na jezicima C i Fortran za izračunavanje brze Fourierove transformacije (FFT). FFTW vam omogućava da radite i sa realnim i sa kompleksnim brojevima, sa proizvoljnom veličinom ulaznih podataka, tj. pri čemu dužina podataka ne mora biti višekratnik 2n. Biblioteka takođe uključuje module za paralelnu FFT obradu koji joj omogućavaju da se koristi na višeprocesorskim mašinama sa zajedničkom i distribuiranom memorijom.

Program je instaliran na superkompjuter Lomonosov.

Naprijed X

Ponekad treba da radite sa GUI uslužni programi na računarskom klasteru. Da biste to učinili, potrebna su vam dva programa Putty i Xming. Putty djeluje kao SSH klijent i prenosi podatke na xserver putem ssh-a. Xming je port X Window Servera za Windows. Poenta je da Putty prenosi podatke X-terminala preko SSH-a, a lokalni X server renderuje sliku; u našem slučaju, X server je Xming.

Gore