Onion Information
Istraživanje i razvoj - GASERI
Simulacija molekulske dinamike jedna je najviše korištenih i istraživanih metoda u Grupi za aplikacije i usluge na eksaskalarnoj istraživačkoj infrastrukturi. Kako bi ostvarila ciljeve vlastitih istraživanja i suradnji, grupa aktivno sudjel...
Onion Details
Page Clicks: 1
First Seen: 03/15/2024
Last Indexed: 10/23/2024
Onion Content
Preskoči na sadržaj Istraživanje i razvoj Simulacija molekulske dinamike jedna je najviše korištenih i istraživanih metoda u Grupi za aplikacije i usluge na eksaskalarnoj istraživačkoj infrastrukturi. Kako bi ostvarila ciljeve vlastitih istraživanja i suradnji , grupa aktivno sudjeluje u razvoju slobodnog programskog paketa otvorenog koda GROMACS za izvođenje i analizu rezultata simulacije molekulske dinamike na računalima visokih performansi. Izvor slike: Wikimedia Commons File:Gmx logo blue.png Osim razvoja u skladu s vlastitim i suradničkim istraživačkim interesima i interesima suradnika, grupa nastoji i doprinijeti održavanju GROMACS-ove baze izvornog koda , sustava za izgradnju i dokumentacije za buduće razvojne potrebe. Razvoj online kolegija Optimizacija programskog koda (Code optimization) na Sveučilištu u Rijeci u akademskim godinama 2020./2021. i 2021./2022. Podaci o osobama odgovornim za provedbu projekta VODITELJ PROJEKTA (u prilogu dostaviti CV) Ime i prezime: dr. sc. Vedran Miletić Sastavnica Sveučilišta u Rijeci: Odjel za informatiku Znanstveno-nastavno zvanje: Znanstveni suradnik, zaposlen na radnom mjestu višeg predavača e-mail: vmiletic@inf.uniri.hr IZVODITELJI PROJEKTA 1. Ime i prezime: dr. sc. Vedran Miletić Sastavnica Sveučilišta u Rijeci: Odjel za informatiku Zvanje: Znanstveni suradnik, zaposlen na radnom mjestu višeg predavača E-mail: vmiletic@inf.uniri.hr Uloga u projektu: Voditelj projekta i izvoditelj projekta (nositelj kolegija i asistent) 2. Ime i prezime: Mia Doričić Sastavnica Sveučilišta u Rijeci: Odjel za informatiku Zvanje: Studentica, demonstratorica E-mail: mia.doricic@student.uniri.hr Uloga u projektu: Pomoćnica u izradi zadataka za vježbe i domaće zadaće Podaci o kolegiju (ako je postojeći) Naziv kolegija: Optimizacija programskog koda ( Code optimization ) Nositelj kolegija: doc. dr. sc. Miran Pobar / dr. sc. Vedran Miletić Sastavnica Sveučilišta u Rijeci: Odjel za informatiku Studijski program: Preddiplomski studij informatike Godina studijskog programa: 3 Status kolegija: Obvezan /Izborni ECTS bodovi kolegija: 5 Broj sati (P+S+V): 30+0+30 Dosadašnji način izvođenja nastave Kolegij će se prvi put izvoditi u akademskoj godini 2021./2022. kao i preostali kolegiji na 3. godini novog preddiplomskog studijskog programa "Informatika" čija je izvedba započela akademske godine 2019./2020. Razina sadašnje primjene alata e-učenja Kolegij se dosad nije izvodio, ali planirana je bila razina A prema "Preporukama za izradu obrazovnih materijala za e-učenje". Dodatne informacije o kolegiju (navesti podatke za koje predlagatelji smatra da su važni za projekt) Ovaj kolegij se bavi tehničkim izazovima područja suvremenog digitalnog društva, što ga čini posebno prikladnim za YUFE koji navodi upravo "Digitano društvo" kao jedno od strateških područja. Kolegij upoznaje studente s temeljnim načelima optimizacije programske podrške koja stoji u pozadini sveprisutnog računarstva u društvu. U suvremeno doba se optimizacija programske podrške primjenjuje na računalima svih veličina i namjena: malenim uređajima koji čine internet stvari, pametnim telefonima i satovima, računalima koja se koriste u kasama i bankomatima, osobnim računalima na kojima se izvode web preglednici i igre, budućim samovozećim automobilima, velikim superračunalima kao što je Bura na Sveučilištu u Rijeci i drugim. Kolegij je dio modula "Razvoj programske potpore" preddiplomskog studija informatike i formalno nasljeđuje kolegije iz područja programiranja na 1. i 2. godini preddiplomskog studija s obzirom na to da zahtijeva predznanje iz programiranja, struktura podataka i algoritama. Slijedom prisustva kolegija koji pokrivaju ta predznanja na raznim studijima u području prirodnih i tehničkih znanosti moguće je ovaj kolegij, osim studentima informatike i računarstva, ponuditi i drugim zainteresiranim studentima koji imaju odgovarajuća predznanja. Svi računalni programi koje će studenti koristiti tijekom izvedbe kolegija bit će odabrani tako da se radi o slobodnoj programskoj podršci, odnosno programskoj podršci otvorenog koda (engl. free and open source software ). To će olakšati izvedbu i otvoriti kolegij prema svim zainteresiranim studentima jer neće biti potrebe za nabavkom specijalizirane i često vrlo skupe komercijalne programske podrške, bilo od strane sveučilišta, bilo od strane studenata samih. Opis projekta razvoja online kolegija Naziv kolegija Optimizacija programskog koda ( Code optimization ) Opis očekivanih ulaznih kompetencija studenata (preduvjeti za upis kolegija, uključujući potrebnu CEFR razinu poznavanja engleskog jezika) Preduvjet za upis kolegija su položeni predmeti koji obrađuju programiranje, strukture podataka i algoritme neovisno o programskom jeziku. Potrebna CEFR razina poznavanja engleskog jezika je najmanje B2. Ukupni broj studenata koji mogu pohađati kolegij u jednoj izvedbi 50 Broj studenata kojima se kolegij može ponuditi u sklopu YUFE: 10 u sklopu interne mobilnosti: 10 Početak izvedbe kolegija u 2020./21. (navesti datum) Početak zimskog semestra akademske godine 2021./2022., približno 1. listopad 2021. Očekivani ishodi učenja na kolegiju Nakon učenja i izvršavanja svih kolegijem predviđenih aktivnosti i obaveza student će moći: I1. Analizirati svojstva koja omogućuju transformaciju programskog koda i prikazati programski kod grafom toka. I2. Prikazati razlike između lokalne i globalne optimizacije te identificirati gdje se svaka od njih primjenjuje. I3. Provesti klasičnu analizu toka podataka, alokaciju registara bojenjem registara i eliminaciju zajedničkih podizraza. I4. Opisati način rada optimizacije višeg nivoa i primijeniti postojeće optimizacije. I5. Opisati razlike optimizacija višeg nivoa i optimizacija ovisnih o ciljnoj arhitekturi. I6. Provesti odabir instrukcije. I7. Analizirati problem redoslijeda faza optimizacije. Ciljevi i sadržaj kolegija (max 250 riječi) Cilj ovog kolegija je uvesti temeljna načela i metode optimizacije programskog koda na razini apstraktne sintakse, grafa toka programa i izvršnog (strojnog) koda. Sadržaj kolegija: Pregled optimizirajućeg prevoditelja programskog jezika. Optimizacija po dijelovima. Analiza svojstava koja omogućuju transformaciju. Graf toka i reprezentacija programskih koncepata. Problem redoslijeda faza optimizacije. Vrste optimizacije. Lokalna optimizacija: optimizacija kroz okance, zakazivanje instrukcija. Globalna optimizacija: zajednički podizrazi, kretanje koda. Interproceduralna optimizacija. Graf poziva. Klasična analiza toka podataka. Algoritmi na grafovima, skupovi živih i dostupnih varijabli. Alokacija registara bojenjem registara. Eliminacija zajedničkih podizraza. Prolijevanje u memoriju; baratanje privremenim izrazima uvedenim kod eliminacije zajedničkih podizraza. Anomalije toka podataka. Oblik statičke jednostruke dodjele vrijednosti varijablama. Pregled optimizacija višeg nivoa. Analiza memorijskih lokacija na koje varijable pokazuju i analiza pseudonima. Optimizacija ovisna o ciljnoj arhitekturi. Odabir instrukcije. Zakazivanje instrukcija i povezani problem redoslijeda faza optimizacije. Pristupi učenju i poučavanju -- stjecanju ishoda učenja Ishodi učenja stječu se kroz više aktivnosti: Prisutnost na online nastavi (1 ECTS) -- redovito praćenje i proučavanje online materijala u tekstualnom i multimedijskom obliku (slike, prezentacije, asinkrone video lekcije, sinkrone video konferencije, video resursi) Pisani osvrti (0,5 ECTS) -- kraći pisani osvrti na zadanu temu uz korištenje danih i samostalno pronađenih izvora; studenti daju procjenu nekolicine tuđih radova, a nastavnik ocjenjuje sve radove Domaće zadaće (1,5 ECTS) -- zadaci iz gradiva vježbi zadani za samostalno rješavanje studenata uz predaju rješenja u danom roku Praktični rad (1 ECTS) -- grupni ili pojedinačni rad na implementaciji danih tehnika optimizacije programskog koda te dokumentiranje, testiranje i prezentacija implementacije Online testovi (1 ECTS) -- provjere znanja gradiva predavanja u obliku pitanja višestrukog izbora, kratkog odgovora, uparivanja, nadopunjavanja riječi i sl. Pristupi vrednovanju i ocjenjivanju (navesti načine provođenja vrednovanja i ocjenjivanja) Provjera ishoda učenja vrši se preko sljedećih procjena znanja: Prisutnost na online nastavi (I1--I7): Provjera tjedne studentske aktivnosti, sudjelovanja i vremena provedenog u radu na online kolegiju (npr. izvještaji i statistika iz sustava za e-učenje Merlin ili Canvas). Pisani osvrti (I1, I2, I4, I5, I7): U pisanim osvrtima na zadanu temu student pokazuje razumijevanje gradiva iz online lekcije korištenjem radionice s vršnjačkom procjenom u okviru suvremenog alate za e-učenje (npr. Merlin, Canvas). Vrednovat će kvaliteta obrade teme i razumijevanje proučenih izvora, kao i kvaliteta procjene radova drugih studenata nakon predaje vlastitog osvrta. Primjeri tema za pisanje osvrta mogu biti "Odaberite tri optimizacijske tehnike implementirane u nekom program prevoditelju otvorenog koda i opišite njihov način rada" ili "Usporedite posredne jezike LLVM IR i GCC GENERIC/GIMPLE". Domaće zadaće (I1, I2, I3, I4, I6): Praktična provjera znanja kod koje se traži da student analizira i transformira zadani programski kod te koristi i po potrebi prilagođava postojeće optimizacije. Primjeri zadataka mogu biti "Na zadanom programskom kodu provedite eliminaciju zajedničkih podizraza" ili "Pronađite sve optimizacije među onima obrađenima na kolegiju koje se mogu uspješno provesti na zadanom programskom kodu". Praktični rad (I1, I2, I3, I4, I6): U praktičnom radu studenti u grupama po troje, dvoje ili pojedinačno prema zadanim uputama implementiraju dane tehnike optimizacije programskog koda, pišu dokumentaciju i vrše testiranje vlastite implementacije. Primjerice, teme praktičnog rada mogu biti "Implementacija odmotavanja petlje for" ili "Implementacija brojanja globalnih vrijednosti". Online testovi (I1, I2, I4, I5, I7) Online provjera znanja u kojima student pokazuje razumijevanje teorijskih koncepata optimizacije programskog koda. Približan vremenski plan nastavnih aktivnosti i opterećenja studenata (navesti ukupno trajanje kolegija u tjednima, navesti veće nastavne cjeline i planirane nastavne aktivnosti te pripadajuće procijenjeno vremensko opterećenje studenata u satima; navesti planirane provjere znanja) Ukupno trajanje kolegija je 15 tjedana (jedan semestar). Nastavna cjelina Nastavne aktivnosti Trajanje / tj. Opterećenje studenta / h 1. Pregled optimizirajućeg prevoditelja programskog jezika. Optimizacija po dijelovima. Analiza svojstava koja omogućuju transformaciju 1 5 2. Graf toka i reprezentacija programskih koncepata. Problem redoslijeda faza optimizacije. 1. pisani osvrt 1 7 3. Vrste optimizacije. Lokalna optimizacija: optimizacija kroz okance, zakazivanje instrukcija 1 ...