17109

Evaluation of Libraries for Parallel Computing in Haskell – A Case Study with a Super-resolution Application

Takuya Matsumoto, Kiminori Matsuzaki
Graduate School of Engineering, Kochi University of Technology, Kami, Kochi 782-8502, Japan
Journal of Information Processing, Vol. 25, pp. 308-316, 2017

@article{matsumoto2017evaluation,

   title={Evaluation of Libraries for Parallel Computing in Haskell-A Case Study with a Super-resolution Application},

   author={Matsumoto, Takuya and Matsuzaki, Kiminori},

   journal={Journal of Information Processing},

   volume={25},

   pages={308–316},

   year={2017},

   publisher={Information Processing Society of Japan}

}

Download Download (PDF)   View View   Source Source   

2563

views

Haskell is a functional language featuring lazy evaluation and referential transparency. On one hand, Referential transparency is useful for parallel computing because the results do not depend on the evaluation order, but on the other hand, parallel computing requires an evaluation order that is different from that of lazy evaluation. There are some parallel programming libraries for Haskell, such as Repa (regular parallel arrays) and Accelerate. However, little research has been conducted on evaluation with real applications, and the usefulness of these libraries remains unclear. In this study, we evaluated the usefulness of parallel programming libraries for Haskell with an application that applies a super-resolution technique to fMRI images. We developed a CPU-based parallel program with Repa and GPU-based parallel program with Accelerate and compared their performance. We obtained reasonable speedups for the program with Repa, but not for the program with Accelerate. We also investigated Accelerate’s performance issues with an implementation in C and CUDA and the log from the Accelerate program. In this paper, we report our findings through a case study, focusing on the advantages and difficulties in parallel program development with Haskell.
Rating: 2.5/5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: