Show simple item record

dc.contributorAyguadé Parra, Eduard
dc.contributorBeltran Querol, Vicenç
dc.contributor.authorFernández Suárez, Alejandro
dc.date.accessioned2013-07-18T12:15:04Z
dc.date.available2013-07-18T12:15:04Z
dc.date.issued2013-06-21
dc.identifier.urihttp://hdl.handle.net/2099.1/18793
dc.description.abstract[ANGLÈS] High Performance Computing (HPC) relies completely on complex parallel, heterogeneus architectures and distributed systems which are hard and error-prone to exploit, even for HPC specialists. Further and further knowledge on runtime systems, dependency tracking, memory transaction optimization and many other techniques are a must-have requirement to produce high quality software capable of exploiting every single bit of power an HPC system has to other. On the other hand, domain experts like geologists or biologists are usually not technology-aware enough to produce the best software for these complex systems. Nowadays, the only way to successfully exploit an HPC system requires that computer and domain experts work closely towards producing applications to solve domain problems. Domain experts have the knowledge on the domain algorithms, while computer experts know how to ciently map these algorithms on HPC systems. This project proposes a framework that eases most of the processes related to the production of Domain Specific Languages (DSLs) that run on top of accelerator-based heretogeneus architectures. By using DSLs, domain experts can develop their applications using their own high level language, focusing only on their hard-enough issues. Meanwhile, computer experts stay only improving the implementation of these DSLs to make the most out of an HPC platform. This way, we keep each expert focused as much as possible on its natural domain of expertise.
dc.description.abstract[CASTELLÀ] La computación de alto rendimiento (HPC) se basa en la utilización de sistemas distribuidos heterogeneos difíciles de explotar, incluso por expertos en el area de HPC. Para producir software HPC capaz de explotar toda la potencia de un supercomputador, cada vez se requiere más conocimiento en técnicas avanzadas de programación tales como análisis de dependencias u optimización de transacciones de memoria. Por otra parte, expertos de dominio tales como geólogos o biólogos no estan tan familiarizados con las tecnologías actuales como para producir software para arquitecturas modernas. Por este motivo, la unica manera de explotar supercomputadores actuales es hacer que los expertos de dominio trabajen muy conjuntamente con programadores expertos para producir sus aplicaciones. Este proyecto propone un sistema que agiliza muchos de los procesos asociados al desarrollo de DSLs para HPC. Mediante el uso de DSLs, los expertos de dominio pueden desarrollar sus aplicaciones utilizando su propio lenguaje de alto nivel, centrándose solamente en sus ya complicados problemas. Mientras tanto, los programadores expertos focalizan sus esfuerzos en mejorar y optimizar la implementación de estos DSLs de modo que aprovechen al máximo los recursos que ofrezca cada sistema. De este modo, cada experto se mantiene en su dominio natural, maximizando así su productividad.
dc.description.abstract[CATALÀ] La computació d'alt rendiment (HPC) es basa en la utilizació de sistemes distribuïts heterogenis difícils d'explotar, inclus per experts en l'àrea de HPC. Per a produïr software HPC capaç d'explotar tota la potència d'un supercomputador, cada cop es requereix més coneixement en tècniques avançades de programació tals com anàlisi de dependències o optimizació de transaccions de memòria. D'altra banda, experts de domini tals com geòlegs o biòlegs no estan tan familiaritzats amb les tecnologies actuals com per a produïr software per a arquitectures modernes. Per aquest motiu, l'unica manera d'explotar supercomputadors actuals es fer que els experts de domini treballin molt conjuntament amb programadors experts per tal de produïr les seves aplicacions. Aquest projecte proposa un sistema que agilitza molts dels processos associats al desenvolupament de DSLs per a HPC. Mitjançant DSLs, els experts de domini poder desenvolupar les seves aplicacions fent servir el seu propi llenguatge d'alt nivell, concentrant-se en els seus prou complicats problemes. Mentres tant, els programadors experts focalitzen els seus esforços en millorar i optimitzar la implementació d'aquests DSLs de manera que aprofitin al màxim els recursos que ofereix cada sistema. D'aquesta manera, cada expert es manté al seu domini natural, maximitzant així la seva productivitat.
dc.language.isoeng
dc.publisherUniversitat Politècnica de Catalunya
dc.subjectÀrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
dc.subjectÀrees temàtiques de la UPC::Informàtica::Llenguatges de programació::C
dc.subject.lcshParallel programming (Computer science)
dc.subject.lcshSoftware engineering
dc.subject.otherDSL
dc.subject.otherOmpSs
dc.subject.otherScala
dc.subject.otherOpenCL
dc.subject.otherCompiladors
dc.subject.otherParal·lelisme
dc.subject.otherScala
dc.subject.otherCompilers
dc.subject.otherParallelism
dc.titleDomain Specific Languages for High Performance Computing
dc.typeBachelor thesis
dc.subject.lemacProgramació en paral·lel (Informàtica)
dc.subject.lemacEnginyeria de programari
dc.identifier.slug89337
dc.rights.accessOpen Access
dc.date.updated2013-07-02T15:34:50Z
dc.audience.educationlevelGrau
dc.audience.mediatorFacultat d'Informàtica de Barcelona


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder