Warning: Undefined array key "bio" in /home/techwatch/domains/test.bits-chips.nl/public_html/wp-content/plugins/wpcodebox2/src/Runner/QueryRunner.php(126) : eval()'d code on line 13
Author:
Reading time: 2 minutes
Het Alma-consortium heeft de resultaten onthuld van zijn werk aan het automatisch parallelliseren van applicaties voor embedded chiparchitecturen. Als demonstratie werden een beeldherkennings- en een Wimax-toepassing geport naar de chiparchitecturen van projectpartners Recore en het Karlsruhe Institute of Technology. In het beste geval wisten de onderzoekers een applicatie met een factor drie te versnellen door deze naar een quadcore-architectuur te porten. De ontwikkelaar hoeft daarbij geen kennis te hebben van de onderliggende chiparchitectuur.
Alma ging in 2011 van start met een FP7-subsidie van 3,2 miljoen euro, als project van het Karlsruhe Institute of Technology en het Fraunhofer IOSB in Duitsland, de universiteit van Peloponesse en het Technological Educational Institute of Mesolonghi uit Griekenland en de universiteit van Rennes in Frankrijk. Vanuit het bedrijfsleven deden Recore en het Griekse Intracom Telecom.
Het doel was om een methode te ontwikkelen waarmee applicaties voor multicore architecturen in een hoogniveau taal te beschrijven zijn, zonder rekening te houden met de beslommeringen die daar normaal bij komen kijken. De projectpartners kozen daarbij voor Scilab, een opensource kloon van Matlab. Om het automatisch parallelliseren mogelijk te maken, werd een dialect ontwikkeld bestaande uit een subset van de taal aangevuld met een preprocessing-taal en een annotatietaal.
Deze Scilab-beschrijving wordt omgezet naar een geoptimaliseerde C-beschrijving, en die gaat vervolgens een parallellisatie-toolketen in. Die combineert de code met een beschrijving van de doelhardware en zoekt naar efficiënte mogelijkheden om te parallelliseren. Daarbij wordt zowel gekeken naar laagniveau parallellisme via bijvoorbeeld simd of alternatieve scenario’s voor het omzetten naar fixed-point-notatie, als naar hoogniveau parallellisme via bijvoorbeeld partitionering. Het resultaat is doelspecifieke C-code.