jangmys/BenchParallelMeta: A comparative study of high-productivity high-performance programming languages for parallel metaheuristics
- 1. University of Mons
- 2. Inria Lille - Nord Europe
- 3. University of Lille, CNRS/CRIStAL, Inria Lille - Nord Europe
Description
Parallel metaheuristics require programming languages that provide both, high performance and a high level of programmability. This paper aims at providing a useful data point to help practitioners gauge the difficult question of whether to invest time and effort into learning and using a new programming language. To accomplish this objective, three productivity-aware languages (Chapel, Julia, and Python) are compared in terms of performance, scalability and productivity. As a test-case, we implement two parallel metaheuristics in three languages for solving the 3D Quadratic Assignment Problem (Q3AP), using thread-based parallelism on a multi-core shared-memory computer. We also evaluate and compare the performance of the three languages for a parallel fitness evaluation loop, using four different test-functions with different computational characteristics. Besides providing a comparative study, we give feedback on the implementation and parallelization process in each language.
Files
jangmys/BenchParallelMeta-v1.0.zip
Files
(3.6 MB)
Name | Size | Download all |
---|---|---|
md5:d41fc203953c9b78cd10c01407f7434b
|
3.6 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/jangmys/BenchParallelMeta/tree/v1.0 (URL)