[QGHG-it-dev-list] Zadatak 3 - seed fja za D-simpleks

Dusan Cvijetic dusancvijetic2000 at gmail.com
Sun Oct 16 11:11:44 CEST 2022


Poštovani profesore Korolija,

Hvala Vam mnogo na savetima i podeljenom iskustvu. Odluka o odlasku u 
inostranstvo je nešto sa čime ću se još rvati u narednih nekoliko 
meseci, dok odlučim gde ću ići i šta raditi za master. Siguran sam da bi 
mi najdraže bilo da ostanem da živim u Srbiji, pa hvatam neke projektne 
poslove u inostranstvu kad mi se ide napolje, ali ne znam koliko je to 
realno za očekivati. Vaša detaljna analiza će svakako biti nešto čemu ću 
se ponovo vratiti.

Pozdravi,
Dušan

On 12-Oct-22 10:14 AM, Nenad Korolija wrote:
> Zdravo Dušane i hvala na detaljnoj analizi. :)
>
> Naravno, posao deluje zanimljivo i korisno, a svakako i reference.
> Ako možeš da ih povežeš bolje sa našima, lepo bi bilo da pomogneš 
> svojim kolegama preporukama, a indirektno i dobrim studentima koje ni 
> ne znaš.
>
> Ono što bih dodao kao mišljenje iz svog skromnog iskustva je:
> 1) Što se tiče okruženja, i očekivao bih da bude tako dobro u CERN-u. 
> Meni je uglavnom bilo, barem naizgled. Što više vremena provedeš, 
> shvatićeš da su i tamo ljudi - zeza se, ali i podmeće, nadmeće, koči, 
> itd. Meni je u Google bilo super, ali nekima je to posao i ne sviđa im 
> se sve. U UK mi je bilo super, ali su međuljudski odnosi gori nego što 
> bi se u Srbiji očekivalo. U Nemačkoj su bili striktni, ali je meni 
> bilo super - nije me kačila njihova politika zapošljavanja, gde 
> očiglednu prednost imaju Nemci. U Italiji je divljina, pa oni na vrhu 
> imaju odrešenije ruke na račun onih na dnu.
> 2) Ako pretpostavimo da su ti glavni motiv za odlazak posao i novac, 
> za očekivati je da i ovde ne budeš gladan, a da ti posao u svakom 
> slučaju postane posao - nešto što radiš za pare, pri čemu deo posla voliš.
> 3.1) Ako neko vreme radiš kod njih, pa se vratiš, referenca će ti biti 
> super i za očekivati je da ćeš imati bolju polaznu tačku za traženje 
> dobrog posla, pogotovo ako te bude interesovalo zaposlenje u inostranstvu.
> 3.2) Sa druge strane, ako ostaneš u Srbiji, nakon istog tog vremena 
> ćeš već imati dobar posao. :)
> 4.1) Ako odeš sa devojkom, može vam biti super što ćete uživati u 
> prednostima, bez preterano osvrtanje na mane. Naime, kako tvoje kolege 
> počnu da završavaju fakultet, sve manje će imati vremena za druženja. 
> Mi smo tako sa fudbala prešli na odbojku, pošto su i devojke mogle da 
> igraju. Ubrzo nakon toga, ljudi postaju toliko okupirani poslovima i 
> novim privatnim životima, da se ne viđaju toliko sa društvom sa 
> fakulteta. Nakon što dobiju porodice, ne viđaju nikoga, osim rodbine i 
> eventualno one kojima su deca otprilike istog godišta i žive blizu 
> (nezavisno da li su društvo sa fakluteta ili ne). Drugim rečima, 
> drugarstvo je precenjeno! :D Šalim se, naravno! Ali vreme koje se 
> provodi sa društvom se bitno (eksponencijalno) smanjuje od trenutka 
> diplomiranja.
> 4.2) Ako odeš bez devojke i kreneš da radiš po ceo dan da bi se 
> dokazao, a devojke-nacionalistkinje traže Švajcarce koji već imaju 
> pare i po mogućstvu što manje diploma i posla,... Vidiš i sam gde 
> priča ide. :D Posle nekog vremena se čovek navikne/ustali, šta god 
> radio i ono što ti sad deluje kao vreme u koje bi nešto promenio u 
> slučaju da ne valja (npr. godinu) se lako rastegne na 5 ili 10 puta 
> duži period.
> 5) Ako gubiš vreme bavljenjem problematikom ići/ne, ostale stvari za 
> to vreme prolaze pored tebe. Drugim rečima, ako ti se ide, što pre, pa 
> makar se za godinu vratio sa iskustvom, parama, i odloženim životom u 
> Srbiji za godinu, umesto da 10 godina vagaš da li da odeš. :)
> 6) Raditi online postaje sve popularnije. Iz iskustva kolega, posle 
> deceniju-dve u inostranstvu većina i dalje čeka priliku da se otvori 
> predstavništvo u Srbiji (nekad po 10 godina, od čega 70-80% na 10k km 
> od žene i ćerke) - veliki sistemi su intertni i ne treba odlagati 
> život čekajući promene.
>
> Srećno!
> Nenad
>
> On Sat, Oct 8, 2022 at 7:44 PM Dusan Cvijetic 
> <dusancvijetic2000 at gmail.com> wrote:
>
>     Pozdrav,
>
>     Izvinjavam se zbog kasnog odgovaranja. Želeo sam tokom prethodne
>     nedelje da namestim dual boot konfiguraciju, da bih mogao da
>     koristim i Linux, pa sam odlagao da započnem sa radom i odgovaram
>     na mejlove dok to ne uradim. Međutim, čini se da ću morati da
>     ostanem samo na Windows-u još neko vreme.
>
>     CERN je bio sjajno iskustvo. Radio sam na razvoju VecGeom
>     biblioteke <https://gitlab.cern.ch/VecGeom/VecGeom> za simulaciju
>     geometrije detektora čestica. Na kraju borvka sam napisao i
>     izveštaj <https://cds.cern.ch/record/2825399?ln=en>, u kome možete
>     naći i više detalja o mom delu posla.
>
>     U suštini, simuliraju sudare čestica sa raznim strukturama. Taj
>     posao zahteva vrlo mnogo resursa i vremena, pa pokušavaju da
>     paralelizuju sva izračunavanja koliko god mogu. Trenutno se trude
>     da to postignu tako što će prilagoditi svoj kod radu na GPU. Da bi
>     simulirali razne oblike, ranije su koristili zapreminske modele
>     (simulirali bi ceo cilindar, kocku, nepravilno telo kao
>     jedinstvenu strukturu), međutim oni izazivaju dosta divergencije u
>     paralelnom radu. Zato sad prevode ove zapreminske modele u
>     površinske, gde će svako telo razložiti na više manjih površina.
>     To bi trebalo da pojednostavi jednačine koje se rešavaju i smanji
>     divergenciju pri pokretanju koda na GPU.
>
>     Što se samog CERN-a tiče, mesto je prelepo. Kompleks je ogroman, i
>     potrebno je više od pola sata da se prešeta "naselje" u kome sam
>     ja bio. Postoji više takvih "naselja" koja su raspoređena širom
>     akceleratorskog prstena, i za njihov obilazak bili bi potrebni
>     sati. Priroda oko laboratorija je predivna, negovana i čista. U
>     daljini se, preko planina, može videti i Mont Blanc kada je vreme
>     lepo. Zanimljivo mi je bilo što plaćaju pastirima da dovedu ovce
>     do laboratorija i pasu travu po CERN-u, da ne bi morali mašinski
>     da kose travu.
>
>     Ljudi tamo su me oduševili. Moj mentor
>     <https://www.linkedin.com/in/agheata/> je bio izuzetno posvećen i
>     ažuran, i mnogo sam naučio od njega. Iznenadilo me je koliku mi je
>     autonomiju u radu dao, nije mi postavio bilo kakva ograničenja -
>     samo generalni cilj ka kome treba da idem. U početku mi je ovo
>     bilo čudno, ali sam se vremenom navikao i dosta oslobodio u
>     programiranju.
>
>     Imao sam odlično društvo, kako iz komšijskih zemalja, tako i iz
>     dalekog inostranstva. Zaista je bilo uživanje provoditi vreme sa
>     tim ljudima, svim visoko motivisanim, vrednim i sposobnim, a opet
>     uvek spremnim za dobar provod. I stariji su, takođe, bili jako
>     interesantni. Desilo se da mi, tokom prezentacije mog projekta,
>     jedan čovek postavi pitanje za typesafe alternativu za switch
>     strukturu u C++. Uvek sam mislio da dobro i detaljno poznajem C++,
>     no njegovo pitanje uopšte nisam ni razumeo, pa je moj mentor
>     odgovorio umesto mene. Ispostavilo se da je čovek koji je postavio
>     pitanje u timu za postavljanje standarda C++ i da me je pitao za
>     nešto što su u jezik ubacili u poslednjoj verziji. Desilo mi se
>     prvo u Petnici, pa na fakultetu, a najskorije u CERN-u, da me
>     oduševi količina znanja koju ljudi oko mene imaju.
>
>     Sve su šanse da ću ponovo otići u CERN sledećeg leta, pošto mi je
>     menor ponudio da se opet vratim. Trenutno mi se ne sviđa ideja da
>     tamo živim i radim za stalno. Švajcarska je, iako prelepa,
>     prilično sterilna, i mnogo su mi draži ljudi koje znam u Srbiji.
>     Ipak, biće mi drago ako nastavim tamo da radim po par meseci godišnje.
>
>     Hteo sam da se ponovo zahvalim što ste me primili na ovaj
>     projekat. Jako mi je zabavno da radim naučno programiranje. Mentor
>     mi je rekao da me je pozvao jer je video da sam radio na QGHG,
>     tako da bez rada na Institutu ne bih imao priliku da vidim ni CERN.
>
>     Pozdravi,
>     Dušan
>
>
>     On 27-Sep-22 8:26 PM, Marko Vojinovic wrote:
>>
>>     Pozdrav Dusane i Nenade (i ostali),
>>
>>     Evo tekuceg statusa koji zadaci su uradjeni a koji nisu:
>>
>>     1-5:   done
>>     6:     in progress
>>     7:     done
>>     8:     to do
>>     9:     in progress
>>     10:    done (for the moment)
>>     11-13: done
>>     14:    to do
>>     15-23: to do
>>     24:    to do
>>     25-32: to do
>>
>>     Formulacije svih zadataka imate na arhivi mailing liste [1,2,3].
>>
>>     Neki zadaci su reseni, Jaroslav privodi kraju kostur za gui
>>     (zadaci 6 i 9), a neresene zadatke mozemo da grupisemo u dva
>>     "paketa" zadataka, i tri samostalna zadatka:
>>
>>      * Paket 15-23 je posvecen Pachner-ovim potezima (u D=2,3,4).
>>     Zadatke za Pachner-a za proizvoljno D nisam jos precizno
>>     formulisao --- imamo samo one fotke sa table kada sam Nenadu
>>     objasnjavao konceptualno kako radi Pachner u proizvoljnoj
>>     dimenziji (treba da ih posaljem na listu), ali to sve je skica,
>>     treba bolje i preciznije da se formulisu ti zadaci.
>>
>>      * Paket 25-32 je posvecen crtanju kompleksa na ekran, i
>>     implementaciju svega toga uskoro treba da uradimo jer je Jaroslav
>>     maltene pri kraju sa konstrukcijom kostura za gui i uskoro ce
>>     doci vreme da se taj kostur "popuni mesom", tj. rutinama iz
>>     biblioteke i da pocne zaista da "radi" (Jaroslav je namestio
>>     maltene svu funkcionalnost elemenata gui-ja, ali se jos uvek ne
>>     radi nista sa bibliotekom tj. realnim podacima).
>>
>>       * Tri "samostalna" zadatka su --- 8 (ucitavanje kompleksa iz
>>     fajla), 14 (kacenje novog simpleksa na granicu postojeceg
>>     kompleksa), i 24 (dodavanje topology parametra u SimpComp klasu).
>>     Ova tri zadatka vec duze vreme cekaju na resavanje, a nisu deo
>>     neke vece grupacije zadataka.
>>
>>     Moj predlog za Dusana je da proba da uradi prvo ova tri
>>     samostalna zadatka, 8, 14 i 24, za zagrevanje. Posto je vec
>>     svojevremeno lepo uradio zadatak 7 (snimanje kompleksa u fajl),
>>     zadatak 8 je prirodno vezan za istu tu temu, a 14 i 24 su
>>     nezavisni od onih paketa, i mogu da posluze kao dobro zagrevanje
>>     za pakete.
>>
>>     Zatim je ideja da se i Dusan i Nenad koncentrisu na resavanje dva
>>     paketa, jer to u principu treba da imamo gotovo kad budemo
>>     krenuli da povezemo biblioteku sa gui-jem. Neki okvirni plan je
>>     da gui "progleda" do kraja godine, a gornja dva paketa zadataka
>>     nisu mali posao, pa imajte to na umu.
>>
>>     To je otprilike presek dokle smo stigli i sta nas jos ceka za ovu
>>     godinu.
>>
>>     Naravno, ne zelim da vam ja pravim raspored ko ce sta da radi,
>>     svako neka uzme sta mu je zanimljivo, ali ovo gore je neka
>>     prirodna podela zadataka po smislu, pa imajte to u vidu.
>>
>>     Btw, Dusane, sta se desilo sa tvojim kolegom Nikolom, jel' on jos
>>     tu, i jel' zainteresovan da ucestvuje u ovome, ili ne? I drugo,
>>     kako je bilo u CERN-u, kakvi su ti utisci? Mozes da sastavis
>>     jedan e-mail za nas ostale, da nam prepricas sta si tamo radio,
>>     kako sta i na kom nivou rade programeri tamo, i generalno sta si
>>     pokupio od znanja i iskustva odande... Mislim da bi nas sve
>>     zanimalo da cujemo o tome, pa 'ajde sastavi neki neformalni
>>     report o svom boravku u CERN-u, i posalji ga na listu... ;-)
>>
>>     :-)
>>     Marko
>>
>>     [1]
>>     http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/2022-February/date.html
>>
>>     [2]
>>     http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/2022-March/date.html
>>
>>     [3]
>>     http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/2022-April/date.html
>>
>>
>>
>>     Dr. Marko Vojinovic
>>     Group for Gravitation, Particles and Fields
>>     Institute of Physics
>>     University of Belgrade
>>     ======================
>>     home page: www.markovojinovic.com <http://www.markovojinovic.com>
>>     e-mail: vmarko at ipb.ac.rs
>>
>>
>>
>>     On Mon, 26 Sep 2022, Nenad Korolija wrote:
>>
>>>     Zdravo Dušane,
>>>
>>>     Odlično!
>>>     Ovaj zadatak je urađen.
>>>     Možeš da baciš pogled na 4 funkcije:
>>>     collect_vertices sakuplja vertices u set<KVertex*>.
>>>     // Finds a k-simplex with given vertices, if exists:
>>>     KSimplex* SimpComp::find_vertices(set<KSimplex*> &s){
>>>     build_simplex_one_level_up
>>>     seed_single_simplex_or_sphere (generalna).
>>>
>>>     Za još dosta zadataka imam ideju kako ih rešiti (prodiskutovane
>>>     sa Markom), pa ako se odlučiš za neki, možemo da budemo na vezi
>>>     (najverovatnije će nam se ideje preklapati) kako bi svi
>>>     ispratili šta kako radimo, jer nam to može značiti za dalje.
>>>
>>>     Marko, možda bi bilo previše, mada najkorisnije, da radi
>>>     generalni Pachner-ov potez? Ali ako pređe par zadataka,
>>>     verovatno će biti uhodan u strukture i funkcije koje već postoje na
>>>     raspolaganju.
>>>
>>>     Pozdrav,
>>>     Nenad
>>>
>>>     On Mon, Sep 26, 2022 at 6:12 PM Dusan Cvijetic
>>>     <dusancvijetic2000 at gmail.com>
>>>     <mailto:dusancvijetic2000 at gmail.com> wrote:
>>>           Pozdrav svima,
>>>
>>>           Završene su mi obaveze, pa bih preuzeo sad ovaj zadatak da
>>>     radim.
>>>           Potvrdite mi samo da ovo nije već odrađeno.
>>>
>>>           Pozdravi,
>>>           Dušan
>>>
>>>           On 11-Feb-22 10:44 PM, Marko Vojinovic wrote:
>>>           >
>>>           > Implementirati seed f-ju za jedan D-simpleks (za
>>>     proizvoljnu dimenziju
>>>           > D):
>>>           >
>>>           >   SimpComp* seed_single_simplex( int D );
>>>           >
>>>           >   Input: dimenzija D (pozitivan ceo broj).
>>>           >   Output: pointer na instancirani simplicijalni kompleks
>>>     koji se
>>>           > sastoji od jednog D-simpleksa.
>>>           >
>>>           > Ova f-ja predstavlja opsti slucaj f-ja seed_single_edge(),
>>>           > seed_single_triangle() i seed_single_tetrahedron(), koje
>>>     rade isti
>>>           > posao za D=1,2,3. Postupak i ovde ide u tri glavna koraka:
>>>           >
>>>           > (1) Instancirati nov simplicijalni kompleks zadate
>>>     dimenzije D i
>>>           > metodom create_ksimplex() kreirati simplekse svih nivoa
>>>     od k=0 do k=D.
>>>           > Broj simpleksa datog nivoa k je jednak "D+1 nad k+1"
>>>     (broj kombinacija
>>>           > k+1-vog reda od D+1 elemenata), tj. (D+1)! / ( (k+1)!
>>>     (D-k)! ).
>>>           > Specijalno, ukupan broj verteksa (k=0) je D+1.
>>>           >
>>>           > (2) Popuniti podklasu neighbors svakog simpleksa
>>>     pointerima na njegove
>>>           > susede, koristeci add_neighbor(). Za slucaj proizvoljnog
>>>     D-simpleksa
>>>           > ne mozemo da se oslonimo na sliku, vec se mora
>>>     implementirati
>>>           > algoritam za prepoznavanje suseda (vidi nize).
>>>           >
>>>           > (3) Simpleksima nivoa k = D-1 dodeliti boju boundary, i
>>>     za svaki
>>>           > simpleks zadati vrednost boje na true.
>>>           >
>>>           > Algoritam za odredjivanje da li je dati n-simpleks
>>>     podsused datog
>>>           > k-simpleksa se realizuje na sledeci nacin:
>>>           >
>>>           > (2.1) Prvo se za svaki k-simpleks (k>0) zadaju njegovi
>>>     susedi nivoa
>>>           > k=0 (verteksi). Posto u celom kompleksu imamo tacno D+1
>>>     verteksa,
>>>           > svaki k-simpleks ima tacno "D+1 nad k+1" razlicitih
>>>     verteksa, po
>>>           > definiciji D-simpleksa. Drugim recima, treba birati
>>>     redom svaku
>>>           > kombinaciju k+1-ve klase od D+1 verteksa, i dodeljivati
>>>     ih kao susede
>>>           > nivoa k=0 redom svakom k-simpleksu (jedna kombinacija u
>>>     jedan
>>>           > k-simpleks, tako da ne postoje dva k-simpleksa sa istim
>>>     skupom 0-suseda).
>>>           >
>>>           > (2.2) Kada je korak (2.1) zavrsen, mozemo da odgovorimo
>>>     na pitanje da
>>>           > li je dati n-simpleks podsused datog k-simpleksa (n<k),
>>>     tako sto
>>>           > proverimo da li su svi 0-susedi n-simpleksa istovremeno
>>>     i 0-susedi
>>>           > k-simpleksa. Ako jesu, onda je n-simpleks podsused
>>>     k-simpleksa, a ako
>>>           > postoji makar jedan verteks koji pripada n-simpleksu a
>>>     ne pripada
>>>           > k-simpleksu, onda nije podsused.
>>>           >
>>>           > Koristeci kriterijum (2.2), za dati k-simpleks prodjemo
>>>     kroz sve
>>>           > n-simplekse 0<n<k, i one koji ispune kriterijum stavimo
>>>     u pod-susede
>>>           > k-simpleksa nivoa n, i takodje u n-simpleks stavimo
>>>     k-simpleks kao
>>>           > nad-sused nivoa k. Ovo ponoviti za sve k-simplekse 1<k<=D.
>>>           >
>>>           >
>>>           > :-)
>>>           > Marko
>>>           >
>>>           >
>>>           > Dr. Marko Vojinovic
>>>           > Group for Gravitation, Particles and Fields
>>>           > Institute of Physics
>>>           > University of Belgrade
>>>           > ======================
>>>           > home page: www.markovojinovic.com
>>>     <http://www.markovojinovic.com>
>>>           > e-mail: vmarko at ipb.ac.rs
>>>           >
>>>           >
>>>           --
>>>           QGHG-it-dev-list mailing list
>>>     QGHG-it-dev-list at ipb.ac.rs
>>>     http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>>>
>>>
>>>
>>
>     -- 
>     QGHG-it-dev-list mailing list
>     QGHG-it-dev-list at ipb.ac.rs
>     http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20221016/cd61099a/attachment-0001.htm>


More information about the QGHG-it-dev-list mailing list