Artikel
Optimierungspotenzial von biomedizinischen Statistikanwendungen durch den Einsatz von allgemeinen Berechnungen auf Grafikprozessoren (GPGPU)
Suche in Medline nach
Autoren
Veröffentlicht: | 20. September 2011 |
---|
Gliederung
Text
Einleitung: Die Entwicklung neuer Verfahren in der Bioinformatik beinhaltet meist umfangreiche Simulationen. Solche Simulationen basieren auf kontrolliert gezogenen Zufallszahlen, die gewünschten Verteilungsannahmen genügen. Diese Abhängigkeiten werden in einer Kovarianzmatrix modelliert [1]. Die Generierung solcher Pseudozufallszahlen ist sehr rechenintensiv und stellt häufig die zeitaufwändigste Operation in Simulationen dar.
Die Cholesky-Zerlegung [2] der Kovarianzmatrix ist der erste und aufwändigste Schritt in einer möglichen Methode, normalverteilte Zufallszahlen mit Abhängigkeiten zu erzeugen. Aufgrund ihrer zentralen Bedeutung sind die Möglichkeiten einer Beschleunigung der Cholesky-Zerlegung durch Parallelisierung gut erforscht [3].
An drei Standorten der deutschen D-Grid-Initiative [4] befinden sich Visualisierungscluster [5], die mit Hochleistungsgrafikkarten ausgestattet sind. Durch General Purpose Computation on Graphics Processing Unit (GPGPU) [6] können diese Grafikkarten für stark parallelisierte Rechenoperationen verwendet werden.
In einem Projekt wurde eine GPGPU-Version der Cholesky-Zerlegung [7] mit der Statistikanwendung R [8] umgesetzt, welche für Simulationen in der Bioinformatik häufig genutzt wird. In einem Laufzeitvergleich wurden sowohl Grenzen als auch Beschleunigungsmöglichkeiten einer Portierung der Cholesky-Zerlegung auf Grafikkarten untersucht.
Methoden: Die Berechnungen wurden auf einem D-Grid-Rechencluster an der Universitätsmedizin Göttingen durchgeführt. Der verwendete Rechenknoten verfügt über zwei Quad-Core-Prozessoren mit 16GB-RAM und zwei Nvidia Quadro-FX-5600-Grafikkarten. Um die Grafikkarten für Rechenoperationen nutzen zu können, wurde CUDA 3.1 [9] installiert. Neben der Standard-R-Funktion zur Berechnung der Cholesky-Zerlegung auf CPUs wurde eine GPGPU-Funktion implementiert, welche die Grafikkarte verwendet. Da die Grafikkarte mit 1,58GB über einen kleineren Arbeitsspeicher verfügt als der Hauptspeicher, wurde zunächst die maximal zu verarbeitende Matrix ermittelt. Bis zu dieser Maximalgröße wurden verschiedene Matrizen erzeugt und die Cholesky-Zerlegung sowohl mit der CPU- als auch mit der GPGPU-Version durchgeführt, die berechneten Ergebnisse miteinander verglichen und ein Laufzeitvergleich durchgeführt.
Ergebnisse: Die Größe der Matrix ist bei der Verwendung der Grafikkarte auf 19856x19856 Elemente beschränkt. Es wurden fünf Matrizen von 1600x1600 bis 16000x16000 verwendet und ein Laufzeitvergleich durchgeführt. Die Laufzeit der GPGUP-Version war bereits bei der 1600x1600-Matrix ~10,7x kürzer als die CPU-Version. Bei der 16000x16000-Matrix war das Verhältnis bei einer Laufzeit von ~12,5s (GPGPU-Version) und ~4554,1s (CPU-Version) sogar ~1:362, was einer Rechenzeiteinsparung von ~75 Minuten bzw. ~99,72% entspricht.
Diskussion: Durch die Verwendung von Grafikkarten für rechenintensive Berechnungen [10], [11] lässt sich eine signifikante Laufzeitersparnis in biomedizinischen Statistikanwendungen erzielen. Limitiert wird dieses Optimierungspotenzial durch den geringeren verfügbaren Arbeitsspeicher auf Grafikkarten.
Der verwendete Rechencluster ist Bestandteil einer Virtuellen Forschungsumgebung in D-Grid bzw. MediGRID [12]. In einer solchen können Forscher standortübergreifend auf Ressourcen und Dienste zugreifen, ohne dass diese lokal vorgehalten werden müssen. Es wird angestrebt, die Grafikkartenhardware vernetzt mit weiteren Visualisierungsressourcen in D-Grid für biomedizinische Anwendungen zu erschließen. WissGrid [13] flankiert dies durch den AufbauVirtueller Forschungsumgebungen.
Danksagung: Unterstützt durch WissGrid(FKZ:01IG09005A-L), gefördert vom BMBF.
Literatur
- 1.
- Snedecor GW, Cochran WG. Statistical Methods. 7. Auflage. Iowa: Iowa State Press; 1980. p. 342.
- 2.
- Schwarz HR, Köckler N. Numerische Mathematik. 5. Auflage. Stuttgart: Teubner; 2004. p. 57.
- 3.
- Heath MT. Parallel direct methods for sparse linear systems. In: Keyes DE, Sameh A, Venkatakrishnan V, eds. Parallel Numerical Algorithms. Boston: Kluwer Academic Publishers; 1997. p. 55-90.
- 4.
- Neuroth H, Kerzel M, Gentzsch W. German Grid Initiative D-Grid. Universitätsverlag Göttingen; 2007. p. 9-11.
- 5.
- Dickmann F, Kaspar M, Löhnhardt B, Kepper N, Viezens F, Hertel F, Lesnussa M, Mohammed Y, Thiel A, Steinke T, Bernarding J, Krefting D, Knoch TA, Sax U. Visualization in Health Grid Environments: A Novel Service and Business Approach. In: Altmann J, Buyya R, Rana OF, eds. Grid Economics and Business Models– 6th International Workshop, GECON 2009. Delft, The Netherlands: Springer Berlin; 2009. p. 150-159.
- 6.
- Nvidia. What is GPU Computing? Available from: http://www.nvidia.com/object/GPU_Computing.html.
- 7.
- Henry S. Parallelizing Cholesky's decomposition algorithm. 2009, unpublished. Available from: http://runtime.bordeaux.inria.fr/shenry/papers/HS_Cholesky.pdf
- 8.
- R Development Core Team. R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing; 2011. Available from: http://www.R-project.org/
- 9.
- Nvidia. CUDA Zone. Available from: http://www.nvidia.de/object/cuda_home_new_de.html.
- 10.
- Boeing A. Survey and future trends of efficient cryptographic function implementations on GPGPUs. In: Valli C, Woodward A, eds. 6th Australian Digital Forensics Conference; 2008.
- 11.
- Marras S, Mura C, Gobbetti E, Scateni R, Scopigno R. Two examples of GPGPU acceleration of memory-intensive algorithms. In: Puppo E, Brogni A, De Floriani L, eds. Eurographics Italian Chapter Conference 2010. 2010. p. 49-56.
- 12.
- Krefting D, Bart J, Beronov K, Dzhimova O, Falkner J, Hartung M, Hoheisel A, Knoch TA, Lingner T, Mohammed Y, Peter K, Rahm E, Sax U, Sommerfeld D, Steinke T, Tolxdorff T, Vossberg M, Viezens F, Weisbecker A. MediGRID: Towards a user friendly secured grid infrastructure. FGCS. 2009;25:326-336.
- 13.
- Wissgrid. Available from: http://www.wissgrid.de/