Rade Kutil
Lehrveranstaltungen
VP Digitale Signalprozessoren (SS08)

Inhalt

Grundlagen der digitalen Signalverarbeitung, häufig benutzte Algorithmen und Anwendungen, Aufbau von speziellen Prozessoren für digitale Signalverarbeitung, Programmiertechnik bei solchen Prozessoren, Übung anhand des Cell-Prozessors, wie er in der PlayStation 3 verwendet wird.

Unterlagen zum Theorieteil

Als Unterlage dienen die Slides vom SS04 als PDF (448K) oder als gzipped PS (400K, 2 Slides auf einer Seite).

Übungsteil

Hier gibt es die Demo-Programme inklusive Kommentare als Tar-File ( inklusive sinnvollerer Zeitmessung). Doku zum Cell-Prozessor gibt es auf dieser IBM-Webseite zum downloaden. Speziell von Interesse sind das Cell Broadband Engine programming handbook und die C/C++ Language Extensions for Cell Broadband Engine Architecture, die etwas schwerer zu finden sind.

Einloggen kann man sich auf einem Cell-Rechner folgendermaßen. Zuerst muss man sich mit dem master-username auf dem Master-Knoten einloggen:

ssh -l <master-username> 141.201.6.49

Dann loggt man sich mit dem cell-username auf dem jeweiligen Cell-Knoten cellx ein:

ssh -l <cell-username> cellx

Die Zugangsdaten master-username, master-passwd, cell-username, cell-passwd, cellx werden per Email bekannt gegeben.

Um Daten einfach und zügig zwischen dem cosy-Homeverzeichnis und dem Cell hin- und her-kopieren zu können, ist folgende Vorgangsweise zu empfehlen: Zuerst im cosy-Home, am master und am cell die ssh-keys generieren (falls noch nicht vorhanden) mit:

ssh-keygen

Dann den Inhalt von .ssh/id_rsa.pub aller drei Rechner auf eine Datei zusammenkopieren und diese Datei als .ssh/authorized_keys2 auf alle drei Rechner verteilen. Dann müsste das einloggen passwortfrei funktionieren. Folgendes Script kann dann Unterverzeichnisse vom cosy-Home auf den Cell spiegeln:

#!/bin/sh
DIR=`echo $PWD | sed 's/\/home\/<cell-username>\///'`
rsync --rsh='ssh -l <master-username> master ssh' --exclude='*~' -qavz <cosy-username>@<xyz>.cosy.sbg.ac.at:$DIR/ .

Ich hab das Script ~/bin/projsync genannt. Vorsicht: bei Aufruf im User-Homeverzeichnis wird das ganze Homeverzeichnis auf den Cell kopiert!. Hier noch ein Auszug aus meinem .bashrc am cell:

export PATH=${PATH}:${HOME}/bin:.
export CELL_TOP=/opt/ibm/cell-sdk/prototype

Das CELL_TOP wird für die Makefiles der Cell-Programme benötigt.

Falls auf dem Rechner das Programm cellmd_5.03 läuft, dann wird die Allozierung von SPUs blockiert. Um das eigene Programm laufen lassen zu können, muss das Programm gestoppt werden. Das geht mit /usr/sbin/killboinc.

Termine: Die PPU-Version der persönlichen Aufgabe soll am So 24. Mai fertig sein. Bitte taren oder zippen und per Email an mich schicken. Die SPU-Version soll am Mi 18. Juni fertig sein.

Test

Es gibt einen kleinen Test zum Theorieteil am 12. Juni. Zum Vergleich gibt es hier die Tests aus 2006 und 2004.

Literatur

2024-05-31 17:29