|
De FASTRA bevat vier 9800GX2 grafische kaarten, die elk twee GPU's bevatten. Zelfs binnen de grafische kaarten kunnen de twee GPU's onafhankelijk worden gebruikt. Er is geen directe communicatie tussen de GPU's (SLI kan niet worden gebruikt met CUDA). Daarom verloopt alle communicatie tussen de GPU's, en ook tussen GPU en CPU, via de PCI-Express bus. Bovendien moeten telkens twee GPU's op een kaart de bandbreedte van hun PCI-Express slot delen. Voor berekeningen waarbij de communicatie-bandbreedte een belangrijke rol speelt, brengt dit aanzienlijke beperkingen met zich mee voor wat betreft de prestaties van de FASTRA. Gelukkig is voor onze tomografie-berekeningen de ratio tussen de hoeveelheid berekeningen en de hoeveelheid communicatie zeer groot. Ons programmeermodel is feitelijk heel simpel: de reconstructietaak voor een groot 3D volume wordt opgesplitst in een aantal deeltaken die volledig onafhankelijk kunnen worden uitgevoerd, zonder onderlinge communicatie. Elk van deze taken wordt toegewezen aan een GPU. De tijd die nodig is om de benodigde data naar het geheugen van de GPU te kopiëren en het resultaat uiteindelijk terug te lezen is veel korter dan de rekentijd die de GPU nodig heeft, waardoor we een zeer grote versnelling kunnen bereiken t.o.v. de CPU. Bovendien groeit voor onze toepassing de rekenkracht vrijwel lineair met het aantal GPU's!
|