• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Paralelné programovanie

Started by mishelka, 16.09.2010, 13:36:18

« predchdzajce - alie »

Gover

Quote from: ApokalypS on  20.10.2010, 21:19:54
a nebude to nahodou tuto? len hadam, nie som si isty

edit: trafil som sa :)

you, dik;

Dominico


anticasper

ludia ako mate riesenu situaciu napr vtom prvom zadani. Ked volat program s viac procesmi ako je (prvkov pola / 2), ak chcem aby kazdy proces/uzol spracoval aspon 2 prvky pola. Ako mam zabit tie nevyuzite navyse procesi popripade ich ani nespustit a robit vypocet iba na potrebnych procesoch? Moje riesenie neni dobre ale newem ako dalej.
Ncitam si pocet, rank, BUFSIZE = 10 kostanta velkosti pola
MPI_Comm_size(MPI_COMM_WORLD, &size)
MPI_Comm_rank(MPI_COMM_WORLD, &rank)

zistim si pocet potrebnych procesov. Neriesim tu teraz pole neparnej velkosti atd.
if(size >= (BUFSIZE / 2)) size = BUFSIZE / 2;

neaky kod pre rank == 0....

dynamicky vytvorim mensia polia pre jednotlive procesy

MPI_Scatter(...) rozdelenie Pola pre jednotlive (5) procesy a naplnenie mensich poli

if (rank >= size) return 0; toto ma zaujima je to blbost ale newem ako inak riesit aby sa vykonaval kod len na potrebnych procesoch/uzloch.
else {
vypocet lokalnych maxim
}

MPI_Reduce(najdenie celkoveho maxima)


SSPPYY

Ako ja riesenie cez MPI_Scatter nemusim  :mishela pride mi to dajak nedotiahnute...
No a k problemu, tak narychlo ma napada take riesenie, ze v bode ked si vypocital kolko uzlov potrebujes, tak tuto hodnotu broadcastnes vsetkym a nasledne otestujes ze ak rank uzla je vecsi ako dana hodnota tak sa ukonci.

anticasper

Quote from: SSPPYY on  21.10.2010, 01:14:00
Ako ja riesenie cez MPI_Scatter nemusim  :mishela pride mi to dajak nedotiahnute...
No a k problemu, tak narychlo ma napada take riesenie, ze v bode ked si vypocital kolko uzlov potrebujes, tak tuto hodnotu broadcastnes vsetkym a nasledne otestujes ze ak rank uzla je vecsi ako dana hodnota tak sa ukonci.
Ako ukoncis? return 0, exit(0), alebo ina funkcia? v mojom pripade si size vypocita kazdy proces sam nemusi sa bradcastovat
if(size >= (BUFSIZE / 2)) size = BUFSIZE / 2;
a tu je ten tvoj spominany test ktory si vykona kazdy proces
if (rank >= size) return 0;
len mne to neako blbne tak newem ci MPI nema neaky speci prikaz funkciu na ukoncenie procesu

SSPPYY

Este pred tym by sa zislo MPI_Finalize();

puq

anticasper ty nemas sample1 a sample2 kod? lebo inac nechapem tvoji otazkam

ApokalypS

80% mozgu človeka tvorí kvapalina, v mojom prípade brzdová..

CHCEM S5 :zuzka: STARY IS :zuzka: !!!!
http://www.tu-ke.com/forum/o-nicom/otvoreny-list-vedeniu-firmy-dupress-(dodavatel-mais)/

mafo


Hunterko

kolegovia su tento tyzden cvicenia ci nie ? :) nejak som to nezaregistroval  ah:

trek

Quote from: Hunterko on  27.10.2010, 07:08:48
kolegovia su tento tyzden cvicenia ci nie ? :) nejak som to nezaregistroval  ah:

jj su ...mal by byt pokec o novych zadaniach :)

ApokalypS

80% mozgu človeka tvorí kvapalina, v mojom prípade brzdová..

CHCEM S5 :zuzka: STARY IS :zuzka: !!!!
http://www.tu-ke.com/forum/o-nicom/otvoreny-list-vedeniu-firmy-dupress-(dodavatel-mais)/

Crawfish

aj skupina co ma zajtra 7:30 ma cviko?

ApokalypS

daco sa tu spominalo, ze tu Eminka nieje a ako sledujem fb, tak je kdesi daleko na sever, citujem: "nedaleko polarneho kruhu", takze ak vam nepovedala, ze sa to cviko bude suplovat niekym inym, tak vam s najväcsou pravdepodobnostou odpadne :)
80% mozgu človeka tvorí kvapalina, v mojom prípade brzdová..

CHCEM S5 :zuzka: STARY IS :zuzka: !!!!
http://www.tu-ke.com/forum/o-nicom/otvoreny-list-vedeniu-firmy-dupress-(dodavatel-mais)/

ApokalypS

Eminka, nic si z toho nerob ;D
80% mozgu človeka tvorí kvapalina, v mojom prípade brzdová..

CHCEM S5 :zuzka: STARY IS :zuzka: !!!!
http://www.tu-ke.com/forum/o-nicom/otvoreny-list-vedeniu-firmy-dupress-(dodavatel-mais)/

Padres

Nevie niekto ako ma fungovat to 7. zadanie? Ma to fungovat podobne ako 5. zadanie len s tym rozdielom ze v tabulke je pri mene este aj vek, ze treba pouzit datatyp a ze mame dat moznost vyhladavat zaznamy ktore maju vek od-do resp. kde hladana cast mena sedi s menom? ze napr. dam hladat "Fer" a vyhodi mi zaznamy s "Feri", "Ferko", "Fero", alebo ked dame tam vek od 20 do 30 tak vypluvne vsetky zaznamy co maju vek od 20-30 popr. kombinacia oboch aj mena aj veku?

ApokalypS

decka, mam dve otazky:
bude tento tyzden cviko?
a nenasiel by sa niekto, kto by mi pomohol so zadaniami? take dve, tri hodky :)
80% mozgu človeka tvorí kvapalina, v mojom prípade brzdová..

CHCEM S5 :zuzka: STARY IS :zuzka: !!!!
http://www.tu-ke.com/forum/o-nicom/otvoreny-list-vedeniu-firmy-dupress-(dodavatel-mais)/

pepco

to Padres:

da sa to pochopit rozne, zalezi od toho ako vam to povedal cviciaci, nam povedal ze to mozme kombinovat alebo nemusime, ze napr meno bude zadane meno a interval veku... ale kto to chce mat lepsie tak, ze mozme spravit aby to fungovalo aj na intrval mien aj(alebo, logicku podmienku medzi tym si mozne vybrat aku chcem bud AND alebo OR) interval veku, napriklad zadam: Fe-Zu 15-30, tak mi to najde od Fea vyssie az pod Zu nizsie(taku Zuzanu to uz nezoberie)

to ApokalypS:
neviem ako je to u ostatnych cviciacich ale u Wassermana tento tyzden cvika nie su :)

DeNaTuReMaN

To 7me zadanie nieje filtracia obrazu ? i ( lebo Padres,  spominas 5 a 7 a to je v mojich podkladoch 4 a 6 zadanie ) Ci ake vy mate zadania  ?

Ako to vlastne treba odovzdat? v 8 tyzdni 4,5 ako je na stranke predmetu alebo 4,5,6 alebo uz rovno aj vsetky aby pokoj bol ?
V nedelu na obed budu krky

pepco

tak ja som odpovedal s tyn predpokladal ze Padres myslel to 6 :D bral som to tak akoze sa sekol...

inac jj odovzdavaju sa 4,5,6 zadanie :) a potom nakoniec uz iba to 7 samostatne

Padres

jj sekol som sa, malo to byt 6 :)

Eghinka

#96
pocujte pouziva niekto v 4 MPI_Type_contiguous a posiela to cez scatterv? lebo to neviem rozchodit a neviem ci to je v tych displ problem alebo kde :-/ nevie niekto poradit? ;-) ci radsej pouzit vektor alebo strukturu alebo..

pepco

#97
v 4.ulohe som pouzil to MPI_Type_contiguous pre String a posielam to cez Scatterv a tiez v 6.ulohe som pouzil strukturu, a posielam ju cez Scatterv a chodi to :)

Eghinka

dobre mam pole stringov obycajne a v scatterv nastavim komu kolko ma poslat typ elementu je ten novy contiguous a displ mas ako nastavene? alebo nejak inak sa to pole alokuje v zavislosti od noveho typu? lebo mne to vazne nechodi :-( raz mi posle iba nejake stringy alebo neposle vobec nic :-/

pepco

#99
v prvom rade do Scatterv musis nastavit typ prvkov, ktore posielas podla toho ako si si dany novy typ pomenovala, cize umna to je napr takto:

MPI_Datatype string;
MPI_Type_contiguous(STRING_LENGTH, MPI_CHAR, &string);
MPI_Type_commit(&string);


, cize potom to Scatterv das typ string... nasledne displs uz pouzivas tak ako predtym (naplnis ho tak ako keby jedno meno sa rovna jedna polozka)

P.S.: ked je chyba v alokacii, ci uz malo vyhradenej pamati alebo ina chyba v alokacii, tak vypise taky cudny jedinecny vypis s adresami pamati, podla ktoreho je jasne, ze chyba je iba niekde tam :)