utveckla program med distribuerad parallellism, inklusive parallell felsökning;
konstruera parallella algoritmer, det vill säga identifiera parallellism i en given algoritm samt implementera denna parallellism;
analysera egenskaper, exempelvis effektivitet, uppsnabbning, hos parallella algoritmer;
analysera prestanda hos parallella algoritmer.
Kursinnehåll
Klassificering av parallelldatorer: olika typer av minnesorganisation, processorer, nätverk och programkontroll. Olika former av parallellism. MPI-programmering (Message Passing Interface) och datapartitionering. Parallellisering av grundläggande algoritmer i numerisk linjär algebra och beräkningsvetenskap: matris-vektor-multiplikation, matris-matris-multiplikation, FFT (snabba Fouriertransformen), N-kroppssimulering, grafalgoritmer.
Förutsättningar
120 hp inom teknik/naturvetenskap inklusive Introduktion till beräkningsvetenskap eller Beräkningsvetenskap I. En av kurserna Högprestandaprogrammering och Lågnivå-parallellprogrammering ska vara genomgången. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)