Programmering av parallelldatorer - metoder och verktyg, 6 hp
Programming of Parallel Computers - Methods and Tools, 6 credits
TDDC78
Huvudområde
Datateknik DatavetenskapUtbildningsnivå
Avancerad nivåKurstyp
ProgramkursExaminator
Christoph KesslerStudierektor eller motsvarande
Ola LeiflerUndervisningstid
Preliminär schemalagd tid: 52 hRekommenderad självstudietid: 108 h
Tillgänglig för utbytesstudenter
JaHuvudområde
Datateknik, DatavetenskapUtbildningsnivå
Avancerad nivåFördjupningsnivå
A1XKursen ges för
- Masterprogram i elektroniska kretsar och system
- Masterprogram i datavetenskap
- Masterprogram i matematik
- Civilingenjör i datateknik
- Civilingenjör i industriell ekonomi - internationell
- Civilingenjör i industriell ekonomi
- Civilingenjör i informationsteknologi
- Civilingenjör i mjukvaruteknik
- Civilingenjör i teknisk fysik och elektroteknik - internationell
- Civilingenjör i teknisk fysik och elektroteknik
Särskild information
Får ej ingå i examen samtidigt som TANA77.
Rekommenderade förkunskaper
Grundkurser i programmering. Det rekommenderas en kurs i processprogrammering eller liknande, eftersom förståelse för processbegreppet förutsätts. Programmeringsövningar erfordrar programmeringskunskaper i C/C++.Lärandemål
Paralleldatorer används för att lösa tunga beräkningsproblem. Studenten ska tillägna sig kunskap om programmering av parallelldatorer och behärska ett urval metoder och hjälpmedel. Kursen skall även ge inblick i hur parallelldatorer kan utnyttjas för några tillämpningsområden, såsom bildanalys och tekniska beräkningar. Efter kursen ska studenten kunna
- använda effektiva metoder och språk för programmering av parallella datorarkitekturer,
- programmera parallelldatorer med distribuerat minne (MPI) och delat minne (OpenMP).
Kursinnehåll
Arkitekturen hos parallelldatorsystem: Minneshierarkier, delat minne samt distribuerade minnesarkitekturer. Vektoroperationer. Parallella exekveringsmodeller och språk. Prestandamätning och uppsnabbning. Meddelandesändningsbaserad programmering, multithreading respektive dataparallell programmering. Design och analys av grundläggande parallella algoritmer. Tidskomplexitet. Skalbarhet. Schemaläggning av parallellprogram. Verktyg för parallellprogrammering. MPI (Message Passing Interface) och OpenMP. Grundläggande parallella numeriska algoritmer och BLAS (Basic Linear Algebra Subprograms). Tillämpningsområden för parallellprogrammering. Parallell lösning av ekvationssystem.
Laborationskursen ger praktisk kunskap om programmering av parallella datorsystem, olika programmeringsparadigmer används.
Undervisnings- och arbetsformer
Föreläsningarna behandlar teori och principer, medan laborationerna ger praktiska övningar i parallell programmering och användning av lämpliga verktyg. Laborationskursen använder superdatorressurser vid National Supercomputer Center.
Examination
LAB1 | Laborationskurs | 3 hp | U, G |
TEN1 | Skriftlig tentamen | 3 hp | U, 3, 4, 5 |
Betygsskala
Alternativ graderad skala, LiU, U, 3, 4, 5Övrig information
Påbyggnadskurser:
Multicore- och GPU-Programmering.
Om undervisnings- och examinationsspråk
Undervisningsspråk visas på respektive kurstillfälle på fliken "Översikt". Examinationsspråk relaterar till undervisningsspråk enligt nedan:
- Om undervisningsspråk är Svenska ges kursen i sin helhet eller till stora delar på svenska. Observera att även om undervisningsspråk är svenska kan delar av kursen ges på engelska. Examinationsspråk är svenska.
- Om undervisningsspråk är Svenska/Engelska kan kursen i sin helhet ges på engelska vid behov. Examinationsspråk är svenska eller engelska.
- Om undervisningsspråk är Engelska ges kursen i sin helhet på engelska. Examinationsspråk är engelska.
Övrigt
Kursen bedrivs på ett sådant sätt att både mäns och kvinnors erfarenhet och kunskaper synliggörs och utvecklas.
Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt.
Institution
Institutionen för datavetenskapStudierektor eller motsvarande
Ola LeiflerExaminator
Christoph KesslerKurshemsida och andra länkar
http://www.ida.liu.se/~TDDC78/Undervisningstid
Preliminär schemalagd tid: 52 hRekommenderad självstudietid: 108 h
Kurslitteratur
C. Kessler: Programming of parallel computers - Compendium OHs, finns tillgänglig för registrerade kursdeltagare på kurshemsidan. L. Elden, H. Park and Y. Saad. Scientific Computing on High Performance Computers (compendium), finns tillgänglig för registrerade kursdeltagare på kurshemsidan. Labb-kompendium, finns på kurshemsidan. För ytterligare kurslitteratur se kursens hemsida.Kod | Benämning | Omfattning | Betygsskala |
---|---|---|---|
LAB1 | Laborationskurs | 3 hp | U, G |
TEN1 | Skriftlig tentamen | 3 hp | U, 3, 4, 5 |
Kursplan
För varje kurs ska en kursplan finnas. I kursplanen anges kursens mål och innehåll samt de särskilda förkunskaper som erfordras för att den studerande skall kunna tillgodogöra sig undervisningen.
Schemaläggning
Schemaläggning av kurser görs enligt, för kursen, beslutad blockindelning.
Avbrott på kurs
Enligt rektors beslut om regler för registrering, avregistrering samt resultatrapportering (Dnr LiU-2015-01241) skall avbrott i studier registreras i Ladok. Alla studenter som inte deltar i kurs man registrerat sig på är alltså skyldiga att anmäla avbrottet så att kursregistreringen kan
tas bort. Avanmälan från kurs görs via webbformulär, www.lith.liu.se/for-studenter/kurskomplettering?l=sv.
Inställd kurs
Kurser med få deltagare ( < 10) kan ställas in eller organiseras på annat sätt än vad som är angivet i kursplanen. Om kurs skall ställas in eller avvikelse från kursplanen skall ske prövas och beslutas detta av dekanus.
Riktlinjer rörande examination och examinator
Se Beslut om Riktlinjer för utbildning och examination på grundnivå och avancerad nivå vid Linköpings universitet Dnr LiU-2019-00920, (http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592).
Examinator för en kurs ska inneha en läraranställning vid LiU i enlighet med LiUs anställningsordning, Dnr LiU-2017-03931 (https://styrdokument.liu.se/Regelsamling/VisaBeslut/622784). För kurser på avancerad nivå kan följande lärare vara examinator: professor (även adjungerad och gästprofessor), biträdande professor (även adjungerad), universitetslektor (även adjungerad och gästlektor), biträdande universitetslektor eller postdoktor. För kurser på grundnivå kan följande lärare vara examinator: professor (även adjungerad och gästprofessor), biträdande professor (även adjungerad), universitetslektor (även adjungerad och gästlektor), biträdande universitetslektor, universitetsadjunkt (även adjungerad och gästadjunkt) eller postdoktor. I undantagsfall kan även en Timlärare utses som examinator på både grund- och avancerad nivå, se Tekniska fakultetsstyrelsen vidaredelegationer.
Examination
Principer för tentamina
Skriftlig och muntlig tentamen samt digital salstentamen och datortentamen ges minst tre gånger årligen; en gång omedelbart efter kursens slut, en gång i augustiperioden samt vanligtvis i en av omtentamensperioderna. Annan placering beslutas av programnämnden.
Principer för tentamensschemat för kurser som följer läsperioderna:
- kurser som ges Vt1 förstagångstenteras i mars och omtenteras i juni och i augusti
- kurser som ges Vt2 förstagångstenteras i maj och omtenteras i augusti och i oktober
- kurser som ges Ht1 förstagångstenteras i oktober och omtenteras i januari och augusti
- kurser som ges Ht2 förstagångstenteras i januari och omtenteras i mars och i augusti
Tentamensschemat utgår från blockindelningen men avvikelser kan förekomma främst för kurser som samläses/samtenteras av flera program samt i lägre årskurs.
För kurser som av programnämnden beslutats vara vartannatårskurser ges tentamina 3 gånger endast under det år kursen ges.
För kurser som flyttas eller ställs in så att de ej ges under något eller några år ges tentamina 3 gånger under det närmast följande året med tentamenstillfällen motsvarande dem som gällde före flyttningen av kursen.
När en kurs ges för sista gången ska ordinarie tentamen och två omtentamina erbjudas. Därefter fasas examinationen ut med tre tentamina samtidigt som tentamen ges i eventuell ersättningskurs under det följande läsåret. Om ingen ersättningskurs finns ges tre tentamina i omtentamensperioder under det följande läsåret. Annan placering beslutas av programnämnden. I samtliga fall ges dessutom tentamen ytterligare en gång under det därpå följande året om inte programnämnden föreskriver annat.
Om en kurs ges i flera perioder under året (för program eller vid skilda tillfällen för olika program) beslutar programnämnden/programnämnderna gemensamt om placeringen av och antalet omtentamina.
Omprov övriga examinerande moment
För riktlinjer för omprov vid andra examinerande moment än skriftliga tentamina, digital salstentamina och datortentamina hänvisas till de generella LiU-riktlinjerna för examination och examinator, http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592.
Anmälan till tentamen
Fram till 31 januari 2021 gäller enligt tidigare riktlinjer: För deltagande i skriftlig tentamen, digital salstentamen och datortentamen krävs att den studerande gjort förhandsanmälan i Studentportalen under anmälningsperioden, dvs tidigast 30 dagar och senast 10 dagar före tentamensdagen. Anvisad sal meddelas fyra dagar före tentamensdagen via e-post. Studerande, som inte förhandsanmält sitt deltagande riskerar att avvisas om plats inte finns inom ramen för tillgängliga skrivningsplatser.
Från 1 februari 2021 gäller nya riktlinjer för anmälan till skriftliga salsskrivningar inklusive digitala tentamina i sal, Dnr LiU-2020-02033 (se beslut i regelsamlingen https://styrdokument.liu.se/Regelsamling/VisaBeslut/622682).
Teckenförklaring till tentaanmälningssystemet:
** markerar att tentan ges för näst sista gången
* markerar att tentan ges för sista gången
Ordningsföreskrifter för studerande vid tentamensskrivningar
Se särskilt beslut i regelsamlingen: http://styrdokument.liu.se/Regelsamling/VisaBeslut/622682
Plussning
Vid Tekniska högskolan vid LiU har studerande rätt att genomgå förnyad examination (s.k. plussning) för högre betyg på skriftliga tentamina, digital salstentamina och datortentamina, dvs samtliga provmoment med modulkod TEN, DIT och DAT. På övriga examinationsmoment ges inte möjlighet till plussning, om inget annat anges i kursplan.
Plussning är ej möjlig på kurser som ingår i utfärdad examen.
Betyg och examinationsformer
Företrädesvis skall betygen underkänd (U), godkänd (3), icke utan beröm godkänd (4) och med beröm godkänd (5) användas.
- Kurser med skriftlig tentamen och digital salstentamen skall ge betygen (U, 3, 4, 5).
- Kurser med stor del tillämpningsinriktade moment såsom laborationer, projekt eller grupparbeten får ges betygen underkänd (U) eller godkänd (G).
- Examensarbete samt självständigt arbete ger betyg underkänd (U) eller godkänd (G).
Examinationsmoment och modulkoder
Nedan anges vad som gäller för de examinationsmoment med tillhörande modulkod som tillämpas vid Tekniska fakulteten vid Linköpings universitet.
- Skriftlig tentamen (TEN) och digital salstentamen (DIT) skall ge betyg (U, 3, 4, 5).
- Examinationsmoment som kan ge betygen underkänd (U) eller godkänd (G) är laboration (LAB), projekt (PRA), kontrollskrivning (KTR), digital kontrollskrivning (DIK), muntlig tentamen (MUN), datortentamen (DAT), uppgift (UPG), hemtentamen (HEM).
- Övriga examinationsmoment där examinationen uppfylls framför allt genom aktivt deltagande som basgrupp (BAS) eller moment (MOM) ger betygen underkänd (U) eller godkänd (G).
- Examinationsmomenten Opposition (OPPO) och Auskultation (AUSK) inom examensarbetet ger betyg underkänd (U) eller godkänd (G).
Allmänt gäller att:
- Obligatoriska kursmoment skall vara poängsatta och ges en modulkod.
- Examinationsmoment som ej är poängsatt får ej vara obligatoriskt. Det är frivilligt att delta på dessa moment och information om det samt tillhörande villkor skall tydligt framgå i den beskrivande texten.
- För kurser med flera examinationsmoment med graderad betygsskala skall det anges hur slutbetyg på kursen vägs samman.
För obligatoriska moment gäller att: Om det finns särskilda skäl, och om det med hänsyn till det obligatoriska momentets karaktär är möjligt, får examinator besluta att ersätta det obligatoriska momentet med en annan likvärdig uppgift. (I enlighet med LiU-riktlinjerna http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592).
För samtliga examinationsmoment gäller att: Om LiU: s koordinator för studenter med funktionsnedsättning har beviljat en student rätt till anpassad examination vid salstentamen har studenten rätt till det. Om koordinatorn istället har gett studenten en rekommendation om anpassad examination eller alternativ examinationsform, får examinator besluta om detta om examinator bedömer det möjligt utifrån kursens mål. (I enlighet med LiU-riktlinjerna http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592).
Rapportering av examinationsresultat
Rapportering av den studerandes examinationsresultat sker på respektive institution.
Plagiering
Vid examination som innebär rapportskrivande och där studenten kan antas ha tillgång till andras källor (exempelvis vid självständiga arbeten, uppsatser etc) måste inlämnat material utformas i enlighet med god sed för källhänvisning (referenser eller citat med angivande av källa) vad gäller användning av andras text, bilder, idéer, data etc. Det ska även framgå ifall författaren återbrukat egen text, bilder, idéer, data etc från tidigare genomförd examination, exempelvis från kandidatarbete, projektrapporter etc. (ibland kallat självplagiering).
Underlåtelse att ange sådana källor kan betraktas som försök till vilseledande vid examination.
Försök till vilseledande
Vid grundad misstanke om att en student försökt vilseleda vid examination eller när en studieprestation ska bedömas ska enligt Högskoleförordningens 10 kapitel examinator anmäla det vidare till universitetets disciplinnämnd. Möjliga konsekvenser för den studerande är en avstängning från studierna eller en varning. För mer information se https://www.student.liu.se/studenttjanster/lagar-regler-rattigheter?l=sv.
Regler
Universitetet är en statlig myndighet vars verksamhet regleras av lagar och förordningar, exempelvis Högskolelagen och Högskoleförordningen. Förutom lagar och förordningar styrs verksamheten av ett antal styrdokument. I Linköpings universitets egna regelverk samlas gällande beslut av regelkaraktär som fattats av universitetsstyrelse, rektor samt fakultets- och områdesstyrelser.
LiU:s regelsamling angående utbildning på grund- och avancerad nivå nås på http://styrdokument.liu.se/Regelsamling/Innehall/Utbildning_pa_grund-_och_avancerad_niva.
Ladda ner
I | U | A | Moduler | Kommentar | ||
---|---|---|---|---|---|---|
1. ÄMNESKUNSKAPER | ||||||
1.1 Kunskaper i grundläggande (motsvarande G1X) matematiska och naturvetenskapliga ämnen |
|
|
|
|||
1.2 Kunskaper i grundläggande (motsvarande G1X) teknikvetenskapliga ämnen |
|
X
|
|
TEN1
|
Architecture, modeling and programming of parallel computer systems. Design and analysis of parallel algorithms. |
|
1.3 Fördjupade kunskaper (motsvarande G2X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen |
|
|
|
LAB1
TEN1
|
||
1.4 Väsentligt fördjupade kunskaper (motsvarande A1X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen |
|
X
|
X
|
LAB1
TEN1
|
Implementation of parallel algorithms e.g. in image processing and linear algebra |
|
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete |
|
|
|
|||
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT | ||||||
2.1 Analytiskt tänkande och problemlösning |
|
X
|
X
|
LAB1
TEN1
|
Programming and performance models of parallel computers; Performance analysis; Design and analysis of parallel algorithms |
|
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning |
|
|
X
|
LAB1
TEN1
|
Implementation and performance evaluation of parallel algorithms |
|
2.3 Systemtänkande |
|
X
|
X
|
LAB1
TEN1
|
Design of parallel programs; Parallel computer architecture; Experimental and asymptotic analysis |
|
2.4 Förhållningssätt, tänkande och lärande |
|
|
|
|||
2.5 Etik, likabehandling och ansvarstagande |
|
|
|
|||
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA | ||||||
3.1 Arbete i grupp |
|
|
X
|
LAB1
|
Laborationer i grupper om två studenter |
|
3.2 Kommunikation |
|
|
|
|||
3.3 Kommunikation på främmande språk |
|
|
|
|||
4. PLANERING, UTVECKLING, REALISERING OCH DRIFT AV TEKNISKA PRODUKTER OCH SYSTEM MED HÄNSYN TILL AFFÄRSMÄSSIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV | ||||||
4.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling |
|
|
|
|||
4.2 Företags- och affärsmässiga villkor |
|
|
|
|||
4.3 Att identifiera behov samt strukturera och planera utveckling av produkter och system |
|
X
|
X
|
LAB1
TEN1
|
Classification of computer architectures; Modeling memory hierarchy; Cost models |
|
4.4 Att konstruera produkter och system |
|
X
|
X
|
LAB1
TEN1
|
Design of parallel programs (PCAM method) |
|
4.5 Att realisera produkter och system |
|
X
|
X
|
LAB1
TEN1
|
Architecture of parallel systems; Design and implementation of parallel programs |
|
4.6 Att ta i drift och använda produkter och system |
|
|
|
|||
5. PLANERING, GENOMFÖRANDE OCH PRESENTATION AV FORSKNINGS- ELLER UTVECKLINGSPROJEKT MED HÄNSYN TILL VETENSKAPLIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV | ||||||
5.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling för kunskapsutveckling |
|
|
|
|||
5.2 Ekonomiska villkor för kunskapsutveckling |
|
|
|
|||
5.3 Att identifiera behov samt strukturera och planera forsknings- eller utvecklingsprojekt |
|
|
|
|||
5.4 Att genomföra forsknings- eller utvecklingsprojekt |
|
|
|
|||
5.5 Att redovisa och utvärdera forsknings- eller utvecklingsprojekt |
|
|
|
Denna flik innehåller det material som är publikt i Lisam. Den information som publiceras här är inte juridiskt bindande, sådant material hittar du under övriga flikar på denna sida.
Det finns inga filer att visa.