Hårdvarudesign för acceleration av maskininlärning, 6 hp
Hardware Design for Machine Learning Acceleration, 6 credits
TSEA85
Huvudområde
ElektroteknikUtbildningsnivå
Avancerad nivåKurstyp
ProgramkursExaminator
Jose Nunez-YanezStudierektor eller motsvarande
Anders NilssonUndervisningstid
Preliminär schemalagd tid: 42 hRekommenderad självstudietid: 118 h
Huvudområde
ElektroteknikUtbildningsnivå
Avancerad nivåFördjupningsnivå
A1FKursen ges för
- Masterprogram i elektroniska kretsar och system
- Civilingenjörsprogram i teknisk fysik och elektroteknik
- Civilingenjörsprogram i teknisk fysik och elektroteknik - internationell
- Civilingenjörsprogram i datateknik
Rekommenderade förkunskaper
Digitalteknik, Datorteknik, Digital konstruktion,
C/C++ programmering
Lärandemål
Kursen syftar till att ge praktisk erfarenhet av design av en avancerad maskininlärningsaccelerator med hjälp av omkonfigurerbar hårdvara med fokus på prestanda, felsökning, minne och interaktion mellan hårdvara och mjukvara. Efter avslutad kurs ska studenten kunna:
- Designa och integrera hårdvaruacceleratorer för maskininlärningsapplikationer.
- Använd högnivåspråk C/C++ för system-på-chip-design.
- Integrera ett system-på-chip av IP-block för att lösa ett specifikt problem.
- Felsöka och uppskatta acceleratorns prestanda via simulering.
- Implementera designen i ett FPGA-kort, testa funktionalitet med hjälp av testbänkar, mät prestanda och analysera prestandaflaskhalsar.
Kursinnehåll
I den här kursen kommer vi att utforska arkitekturen och funktionerna hos moderna FPGA (Field Programable Gate Arrays) tillsammans med deras tillämpning för maskininlärning och artificiell intelligens hårdvaruacceleration. FPGA är en form av omkonfigurerbar hårdvara där den underliggande logiken anpassar sig för att passa det algoritmiska problemet och de kan uppnå högre prestanda och bättre energieffektivitet än alternativ CPU/GPU-hårdvara i vissa applikationer. Vi kommer att fokusera på arkitekturen för system-on-chip-enheter som kombinerar en processor och FPGA-tyg i samma chip, såsom Xilinx/AMD Zynq och Versal-familjerna. Medan Zynq-familjen kännetecknas av närvaron av programmerbar logik och bearbetningssystem i samma enhet, lägger Versal-familjen till så kallade intelligenta motorer som en 2-dimensionell uppsättning av VLIW (Very Long Instruction Word) programmerbara processorer. Detta gör dessa enheter till en mycket skalbar och heterogen plattform som kräver betydande tekniska mjukvaru- och hårdvarukunskaper. Vi kommer att lära oss hur man använder C-baserad högnivåsyntes för att ersätta traditionell Verilog/VHDL RTL-design för att skapa snabba och effektiva hårdvaruacceleratorer för neurala nätverksoperatörer inom maskininlärning och artificiell intelligens. Kursen kommer att behandla olika hårdvaruoptimeringsstrategier och hur C-baserade pragmor används för att styra utdata som genereras av högnivåsyntes. I labben kommer VITIS HLS- och VIVADO-synthesis och implementeringsverktygen inriktas på en SoC Zynq FPGA som också inkluderar ett ARM-baserat bearbetningssystem. ARM-processorn fungerar som en värd och skickar och samlar in resultat från hårdvaruacceleratorn. Kursen kräver förkunskaper om datorarkitektur, digital design och C/C++-baserad programmering. Vissa tidigare erfarenheter av Python skulle vara användbara. C/C++ används som designspråk för acceleratorn med hjälp av toppmoderna högnivåsynteskompilatorer. Acceleratorn exporteras sedan som ett IP-block i VHDL/Verilog och integreras med andra komponenter inklusive ARM-processorn för att bilda ett fungerande system-på-chip. Inledande simuleringar följt av FPGA-implementering används för att verifiera korrekt funktionalitet och den erhållna accelerationsnivån.
Undervisnings- och arbetsformer
Föreläsningar, frågesport, projekt och laborationer. Frågesporterna anordnas under undervisningstiden för att verifiera att inledande labbövningar och föreläsningar har genomförts och förståtts. Under projektarbetet designas och testas hårdvaruaccelerationsfunktioner. En slutrapport dokumenterar systemets egenskaper, prestanda och funktionalitet.
Examination
LAB1 | Laborationer | 2 hp | U, G |
PRA1 | Miniprojekt | 4 hp | U, G |
På kursen ges betyg Underkänd/Godkänd. Båda modulerna behöver ett "Godkänd" för att det totala betyget ska vara "Godkänd"
Betyg på delmoment/modul beslutas i enlighet med de bedömningskriterier som presenteras vid kursstart.
Betygsskala
Tvågradig skala, U, GÖvrig information
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” kan kursen ges i sin helhet på svenska eller delvis på engelska. Examinationsspråk är svenska, men delar av examinationen kan ske på engelska.
- Om undervisningsspråk är Engelska ges kursen i sin helhet på engelska. Examinationsspråk är engelska.
- Om undervisningsspråk är ”Svenska/Engelska” ges kursen i sin helhet på engelska om studenter utan tidigare kunskap i svenska språket deltar. Examinationsspråk följer undervisningsspråk.
Övrigt
Kursen bedrivs på ett sådant sätt att likvärdiga villkor råder med avseende på kön, könsöverskridande identitet eller uttryck, etnisk tillhörighet, religion eller annan trosuppfattning, funktionsnedsättning, sexuell läggning och ålder.
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.
Kursen är campusförlagd på den ort som anges för kurstillfället om inget annat anges under ”Undervisnings – och arbetsformer”. I en campusförlagd kurs kan dock enstaka moment på distans ingå.
Institution
Institutionen för systemteknikKurslitteratur
Kompletterande litteratur
Böcker
- Crockett H Louise (Author), Northcote David (Author), Ramsay Craig (Author), (2019) Exploring Zynq MPSoC: With PYNQ and Machine Learning Applications 1st Strathclyde Academic Media
ISBN: 978-0992978761
Den här boken introducerar Zynq MPSoC (Multi-Processor System-on-Chip), en inbäddad enhet från Xilinx och PYNQ-plattformen för att designa applikationer för maskininlärning.
https://www.zynq-mpsoc-book.com/
Webbsidor
- Intro to FPGA design with HLS https://docs.amd.com/v/u/en-US/ug998-vivado-intro-fpga-design-hls
- PYNQ (Python on Zynq) http://www.pynq.io/
- VITIS HLS synthesis guide https://docs.xilinx.com/r/en-US/ug1399-vitis-hls
- Zynq SoC https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html#documentation
Kod | Benämning | Omfattning | Betygsskala |
---|---|---|---|
LAB1 | Laborationer | 2 hp | U, G |
PRA1 | Miniprojekt | 4 hp | U, G |
På kursen ges betyg Underkänd/Godkänd. Båda modulerna behöver ett "Godkänd" för att det totala betyget ska vara "Godkänd"
Betyg på delmoment/modul beslutas i enlighet med de bedömningskriterier som presenteras vid kursstart.
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 programkurser görs enligt, för kursen, beslutad blockindelning. Fristående kurser kan schemaläggas på andra tider.
Avbrott och avanmälan på kurs
Enligt beslut vid Linköpings universitet om Riktlinjer och rutiner för bekräftelse av deltagande i utbildning med mera på grund- och avancerad nivå, Dnr LiU-2020-02256 (https://styrdokument.liu.se/Regelsamling/VisaBeslut/764582) 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 detta kan noteras i Ladok. Avanmälan eller avbrott från kurs görs via webbformulär Blanketter och formulär
Inställd kurs eller avvikelse från kursplanen
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. För fristående kurser måste inställande av kurs ske innan studenter har antagits på kursen (i enlighet med LiUs antagningsordning Dnr LiU-2022-01200, https://styrdokument.liu.se/Regelsamling/VisaBeslut/622645).
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-2023-00379, (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-2022-04445 (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 januari
- 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, eller ett tentamensmoment (TEN, DIT, DAT, MUN), ges för sista gången ska ordinarie tentamen och två omtentamina erbjudas. Därefter fasas examinationen ut under en avvecklingsperiod 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. Totalt erbjuds alltså 6 omtentamenstillfällen, varav 2 ordinarie omtentamenstillfällen. I tentaanmälningssystemet markeras tentamina som ges för näst sista respektive sista gången.
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.
För fristående kurser med tentamensmoment som inte följer blockplacering kan andra tider förekomma.
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, Dnr LiU-2023-00379 (http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592).
Nedlagd kurs
För Beslut om Rutiner för administration vid avveckling av utbildningsprogram, fristående kurser och kurser inom program, se Dnr LiU-2021-04782 (https://styrdokument.liu.se/Regelsamling/VisaBeslut/1156410). Efter beslut om nedläggning och efter avvecklingsperiodens slut hänvisas studenterna till ersättande kurs (eller motsvarande) enligt information i kursplan eller utbildningsplan. Om en student har godkänt i något/några moment i en avvecklad programkurs men inte alla och det finns en åtminstone delvis ersättande kurs så kan en bedömning om eventuellt tillgodoräknande ske. Eventuell tillgodoräkning av delmoment görs av examinator.
Anmälan till tentamen
För deltagande i skriftlig tentamen, digital salstentamen och datortentamen är anmälan obligatorisk, se beslut i regelsamlingen Dnr LiU-2020-04559 (https://styrdokument.liu.se/Regelsamling/VisaBeslut/622682). En oanmäld student kan således inte erbjudas plats. Anmälan till tentamen är öppen 30 kalenderdagar före provdatum och stänger 10 kalenderdagar innan provdatum om inget annat anges. Anmälan görs i Studentportalen eller via LiU-appen. Anvisad sal meddelas fyra dagar före tentamensdagen via e-post.
Ordningsföreskrifter för studerande vid tentamensskrivningar
Se särskilt beslut i regelsamlingen, Dnr LiU-2020-04559 (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 (i enlighet med Riktlinjer för utbildning och examination på grundnivå och avancerad nivå vid Linköpings universitet, Dnr
LiU-2023-00379 http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592):
- 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.
För möjlighet till anpassade examinationsmoment gäller att (i enlighet med Riktlinjer för utbildning och examination på grundnivå och avancerad nivå vid Linköpings universitet, Dnr LiU-2023-00379 http://styrdokument.liu.se/Regelsamling/VisaBeslut/917592):
- 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 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.
- Examinator får också besluta om anpassad examination eller alternativ examinationsform om examinator bedömer att det finns synnerliga skäl och examinator bedömer det möjligt utifrån kursens mål.
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 Fusk och plagiat.
Linköpings universitet har även tagit fram en vägledning för lärares och studenters användning av generativ AI i utbildningen (Dnr LiU-2023-02660). Som student förväntas du alltid ta reda på vad som gäller för respektive kurs (inklusive examensarbetet). Generellt gäller tydlighet för var och hur generativ AI har använts.
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å https://styrdokument.liu.se/Regelsamling/Innehall.
Kompletterande litteratur
Böcker
ISBN: 978-0992978761
Den här boken introducerar Zynq MPSoC (Multi-Processor System-on-Chip), en inbäddad enhet från Xilinx och PYNQ-plattformen för att designa applikationer för maskininlärning.
Webbsidor
Ladda ner
I | U | A | Moduler | Kommentar | ||
---|---|---|---|---|---|---|
1. ÄMNESKUNSKAPER | ||||||
1.1 Kunskaper i grundläggande (motsvarande G1X) matematiska och naturvetenskapliga ämnen |
|
|
X
|
LAB1
PRA1
|
||
1.2 Kunskaper i grundläggande (motsvarande G1X) teknikvetenskapliga ämnen |
|
X
|
X
|
LAB1
PRA1
|
||
1.3 Fördjupade kunskaper (motsvarande G2X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen |
|
X
|
X
|
LAB1
PRA1
|
||
1.4 Väsentligt fördjupade kunskaper (motsvarande A1X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen |
|
X
|
X
|
LAB1
PRA1
|
||
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete |
|
|
X
|
LAB1
|
||
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT | ||||||
2.1 Analytiskt tänkande och problemlösning |
|
X
|
X
|
PRA1
|
||
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning |
|
X
|
X
|
PRA1
|
||
2.3 Systemtänkande |
|
|
X
|
PRA1
|
||
2.4 Förhållningssätt, tänkande och lärande |
|
X
|
X
|
PRA1
|
||
2.5 Etik, likabehandling och ansvarstagande |
|
X
|
|
LAB1
PRA1
|
||
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA | ||||||
3.1 Arbete i grupp |
|
X
|
X
|
PRA1
|
||
3.2 Kommunikation |
|
|
X
|
PRA1
|
||
3.3 Kommunikation på främmande språk |
|
|
X
|
PRA1
|
||
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
|
PRA1
|
||
4.4 Att konstruera produkter och system |
|
X
|
X
|
PRA1
|
||
4.5 Att realisera produkter och system |
|
|
X
|
PRA1
|
||
4.6 Att ta i drift och använda produkter och system |
|
|
X
|
PRA1
|
||
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.