Mauro Blanco, Pablo Perdomo, P. Ezzatti, Alberto Pardo, Marcos Viera
{"title":"Painless Parallelism on Heterogeneous Hardware Leveraging the Functional Paradigm","authors":"Mauro Blanco, Pablo Perdomo, P. Ezzatti, Alberto Pardo, Marcos Viera","doi":"10.1109/SBAC-PADW.2015.24","DOIUrl":null,"url":null,"abstract":"We use a functional framework designed for parallel programming with linear algebra applications to leverage the computing power of heterogeneous hardware. Our work is performed in the context of the pure functional programming language Haskell. The framework allows the manipulation of arbitrary representations for matrices and the definition of multiple implementations of BLAS operations based on different algorithms and parallelism strategies. We perform some benchmarks for representative BLAS operations on three different platforms (multi-core CPU, ARM and GPU), where we apply different parallelism strategies and employ several representations.","PeriodicalId":161685,"journal":{"name":"2015 International Symposium on Computer Architecture and High Performance Computing Workshop (SBAC-PADW)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 International Symposium on Computer Architecture and High Performance Computing Workshop (SBAC-PADW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBAC-PADW.2015.24","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We use a functional framework designed for parallel programming with linear algebra applications to leverage the computing power of heterogeneous hardware. Our work is performed in the context of the pure functional programming language Haskell. The framework allows the manipulation of arbitrary representations for matrices and the definition of multiple implementations of BLAS operations based on different algorithms and parallelism strategies. We perform some benchmarks for representative BLAS operations on three different platforms (multi-core CPU, ARM and GPU), where we apply different parallelism strategies and employ several representations.