QuantAlea GmbH

 

 

 


Projektbeschreibung


Das Projekt ermöglicht die massiv parallele Rechenleistung von Graphics Processor Units (GPUs) auf der Basis von Alea.cuBase radikal einfacher und dennoch effizient benutzbar zu machen. Parallelisierbare Probleme können mit einem leicht verständlichen Programmiermodell in .NET (z.B. C#) formuliert werden. Das Laufzeitsystem bewerkstelligt dann automatisch die Abbildung auf effizienten Code für Alea.cuBase und so schliesslich für die zur Verfügung stehenden GPUs. Alea.cuBase ist nun anwendbar auf alle .NET Sprachen und nicht nur wie ursprünglich auf F#. Das Programmiermodell lehnt sich an Nvidia CUDA an, jedoch sauber und nahtlos integriert in .NET. GPU Kernels können als normale (C#) Methoden formuliert und dann automatisch cross-kompiliert werden. Des Weiteren steht ein Datenfluss-orientiertes Programmiermodell zur Verfügung, welches das Scheduling von GPU-Kernels auf mehreren GPU-Karten und die Datentransfers vom und zum Host automatisiert.  





Eingesetzte Technologien

Folgende Technologien wurden in diesem Projekt eingesetzt:
Microsoft .NET, LLVN, NVVM, Nvidia CUDA


Publikationen

Bläser, Luc, et al. "Alea Reactive Dataflow: GPU Parallelization Made Simple." Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on Systems, Programming, and Applications: Software for Humanity. 2014. Link


Kramer, Philipp, Daniel Egloff, and L. Blaser. "The alea reactive dataflow system for gpu parallelization." Proc. of the HLGPU 2016 Workshop, HiPEAC. 2016. Link