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.
Als Unterlage dienen die Slides vom SS04 als PDF (448K) oder als gzipped PS (400K, 2 Slides auf einer Seite).
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.
Es gibt einen kleinen Test zum Theorieteil am 12. Juni. Zum Vergleich gibt es hier die Tests aus 2006 und 2004.
P. Lapsey, J. Bier, A. Shoham, E.A. Lee. DSP Processor Fundamentals. Wiley-IEEE Press, 1997. (45 4.7 12)
S.W. Smith. The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing, 1997. (downloadbar unter www.dspguide.com)
L. Wanhammar. DSP Integrated Circuits. Academic Press, 1999. (45 4.7 11)
www.bdti.com: Webseite der Berkeley Design Technology, Inc., Information zu gängigen DSPs.