LIACS >Kristian Rietveld >Courses >Computerarchitectuur, Najaar 2016
headerimg

Banner image shows Intel Core i7-5960X die. Source.

Practicum

Praktische toets (examinatie practicum)

De praktische toets, waarin de vaardigheden opgedaan bij het practicum zullen worden geëxamineerd, zal plaatsvinden op maandag 19 december 2016, 11:00 - 13:00. Een voorbeeld van deze toets is hier te vinden, en de uitwerking.

De toets is open boek in de zin dat alleen het voorgeschreven tekstboek wordt toegestaan. Een eerdere editie van het boek is ook geen probleem. Zelfgemaakte aantekeningen zijn niet toegestaan.

In het geval je alleen de digitale versie van het boek hebt aangeschaft verzoeken we je zelf relevante delen van het boek uit te printen, wellicht aan de hand van de voorbeeldtoets. We kunnen helaas het gebruik van e-readers / tablets bij de toets niet toestaan. Merk op dat het mogelijk is de toets zonder boek te maken: het boek is dus zeker niet strikt noodzakelijk.

Belangrijk: voorafgaand aan de toets zullen alle boeken en uitgeprinte delen van het boek worden gecontroleerd. Kom dus ruim van te voren naar de examenzaal.

Inleveropdrachten

  • Werkcollege 1: Tekst, voorbeeldprogramma's.
  • Werkcollege 2: Tekst.
  • Inleveropdracht 1 (update 25 september), Materialen

  • Werkcollege 4: Tekst, voorbeeldprogramma's (update 17 oktober).
  • Inleveropdracht 2, voorbeeldprogramma's, Startpunt emulator source code.

    Wat verwachten we voor een "voldaan"? Minstens 8 instructies, van verschillende typen, die correct werken: in ieder geval een reg-reg en een reg-imm instructie en daarnaast lui of auipc en een instructie uit de klasse load-store of branches/jumps. Als het testprogramma hello niet werkt, verwachten we dat er een of meerdere microprogramma's worden meegeleverd die aantonen dat de geïmplementeerde instructies correct functioneren. Tenslotte verwachten een korte omschrijving wat er zou moeten gebeuren om tot een simulator te komen die pipelining echt implementeert: wat moet er veranderen, hoe zou je dat aanpakken? Schrijf niet meer dan enkele paragrafen (half A4).

  • Inleveropdracht 3, materialen.
    Opmerking: Het programma perf is alleen beschikbaar in zalen 302/304, 303, 305, 306/308.

  • Inleveropdracht 4, uitgebreide practicumhandleiding (update 14 december 2016: argumenten voor kernel launch stonden verkeerd om), startpunt (source code), testbeeld 1 (512x512 pixels, ~600KB, let op: bzip2 unzippen voor gebruik), testbeeld 2 (2048x2048 pixels, ~7MB, let op: bzip2 unzippen voor gebruik).
    Vanwege gebruik van CUDA, werk aan de opdracht in zalen 302/304 en 306/308. Als je thuis een machine met een CUDA-Capable NVIDIA kaart hebt, kun je natuurlijk ook thuis aan de opdracht werken.

    Update 30 november 2016: in de afgelopen week heeft er een driver-update plaatsgevonden in de LIACS computerzalen, waardoor CUDA helaas niet meer werkt. Je kunt natuurlijk thuis aan de opdracht werken als je over geschikte hardware beschikt. Indien dat niet zo is, dan kun je gebruik maken van een GPU server (duranium) binnen het LIACS Data Science Lab. Aangezien dit een server is die door meerdere personen tegelijk wordt gebruikt dien je op deze server in te loggen met ssh. (Het voordeel is overigens dat je ook vanuit huis op de server kunt inloggen en aan de opdracht kunt werken).

    Een voor duranium aangepast startpunt is hier te downloaden.

    Het startpunt laat na het uitvoeren van de berekening het resultaat op het scherm zien. Om dit te laten werken op de server is het nodig dat je inlogt vanaf een Linux machine of Mac met daarop Xquartz.app geinstalleerd.

    Inloggen gaat in twee stappen. Eerst log je in op gold.liacs.nl met je ULCN-account en X11 forwarding: ssh -Y sXXXXXXX@gold.liacs.nl. Vanaf gold kun je dan verder inloggen op duranium: ssh -Y sXXXXXXX@duranium. Vervolgens gebruik je source /local/ca2016/ca2016.bashrc om een environment actief te maken waarin nvcc beschikbaar is.

    Om op duranium je bestanden te editen kun je gebruik maken van een text-only editor zoals Emacs of (voor de gevorderden) vim. Edit je liever op je lokale machine in een editor? Dat kan ook. Maar dan zul je steeds de bestanden naar je duranium home directory moeten uploaden voordat je kunt compileren en runnen. Je kunt uploaden naar je duranium home directory via gold.liacs.nl:/dshome/sXXXXXXX/. Bijvoorbeeld met scp, maar handiger is sftp of lftp waarmee je de upload-sessie actief kunt houden. Zoek op internet naar meer informatie over het gebruik van deze tools. Ook kun je eens kijken naar sshfs.