A Parallel Genetic Algorithm With Dispersion Correction for HW/SW Partitioning on Multi-Core CPU and Many-Core GPU

被引:22
|
作者
Hou, Neng [1 ]
He, Fazhi [1 ,2 ]
Zhou, Yi [3 ]
Chen, Yilin [1 ]
Yan, Xiaohu [1 ]
机构
[1] Wuhan Univ, Sch Comp Sci, State Key Lab Software Engn, Wuhan 430072, Hubei, Peoples R China
[2] State Key Lab Digital Mfg Equipment & Technol, Wuhan 430074, Hubei, Peoples R China
[3] Wuhan Univ Sci & Technol, Sch Informat Sci & Engn, Engn Res Ctr Met Automat & Measurement Technol, Wuhan 430081, Hubei, Peoples R China
来源
IEEE ACCESS | 2018年 / 6卷
基金
美国国家科学基金会;
关键词
Hardware/software co-design; heuristic method; genetic algorithm; multi-core CPU; many-core GPU; HARDWARE-SOFTWARE COSYNTHESIS; HARDWARE/SOFTWARE; OPTIMIZATION; SEGMENTATION; TRACKING; DESIGN;
D O I
10.1109/ACCESS.2017.2776295
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In hardware/software (HW/SW) co-design, hardware/software partitioning is an essential step in that it determines which components to be implemented in hardware and which ones in software. Most of HW/SW partitioning problems are NP hard. For large-size problems, heuristic methods have to be utilized. This paper presents a parallel genetic algorithm with dispersion correction for HW/SW partitioning on CPU-GPU. First, an enhanced genetic algorithm with dispersion correction is presented. The under-constraint individuals are marched to feasible region step by step. In this way, the intensification can be enhanced as well as the constraint problem can be handled. Second, the individuals performing costs computation and dispersion correction are run in parallel. For a given problem size, the overall run-time can be reduced while the diversity of genetic algorithm can be kept. Third, especially when a number of under-constraint individuals should be corrected in an irregular way, the computation process is complicated and the computation overhead is large. Therefore, we present a novel parallel strategy by leveraging the parallel power of a multi-core CPU and that of a many-core GPU. The proposed strategy computes the costs of each individual in parallel on GPU and corrects the under-constraint individuals in parallel on the multi-core CPU. In this way, a highly efficient parallel computing can be achieved in which dozens of irregular correction computing steps are mapped to the multi-core CPU and thousands of regular cost computing steps are mapped to the many-core GPU. Fourth, at each iteration of the hybrid parallel strategy, the solution vectors of individuals are transferred to the GPU and their costs are transferred back to the CPU. In order to further improve the efficiency of proposed algorithm, we propose an asynchronous transfer pattern (stream concurrency pattern) for CPU-GPU, in which the transfer process and computation process are overlapped and eventually the overall run-time can be reduced further. Finally, the experiments show that the solution quality obtained by our method is competitive with existing heuristic methods in reasonable time. Furthermore, by combining with the multi-core CPU and many-core GPU, the running time of the proposed method is efficiently reduced.
引用
收藏
页码:883 / 898
页数:16
相关论文
共 50 条
  • [1] Fast parallel genetic programming: multi-core CPU versus many-core GPU
    Chitty, Darren M.
    SOFT COMPUTING, 2012, 16 (10) : 1795 - 1814
  • [2] Fast parallel genetic programming: multi-core CPU versus many-core GPU
    Darren M. Chitty
    Soft Computing, 2012, 16 : 1795 - 1814
  • [3] A Multi-Core CPU and Many-Core GPU Based Fast Parallel Shuffled Complex Evolution Global Optimization Approach
    Kan, Guangyuan
    Lei, Tianjie
    Liang, Ke
    Li, Jiren
    Ding, Liuqian
    He, Xiaoyan
    Yu, Haijun
    Zhang, Dawei
    Zuo, Depeng
    Bao, Zhenxin
    Amo-Boateng, Mark
    Hu, Youbing
    Zhang, Mengjie
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (02) : 332 - 344
  • [4] PARALLEL SPN ON MULTI-CORE CPUS AND MANY-CORE GPUS
    Kirschenmann, W.
    Plagne, L.
    Poncot, A.
    Vialle, S.
    TRANSPORT THEORY AND STATISTICAL PHYSICS, 2010, 39 (2-4): : 255 - 281
  • [5] Preliminary performance evaluations of the determinant quantum Monte Carlo simulations for multi-core CPU and many-core GPU
    Kao, Quey-Liang
    Lee, Che-Rung
    INTERNATIONAL JOURNAL OF COMPUTATIONAL SCIENCE AND ENGINEERING, 2014, 9 (1-2) : 34 - 43
  • [6] Accelerating the SCE-UA Global Optimization Method Based on Multi-Core CPU and Many-Core GPU
    Kan, Guangyuan
    Liang, Ke
    Li, Jiren
    Ding, Liuqian
    He, Xiaoyan
    Hu, Youbing
    Amo-Boateng, Mark
    ADVANCES IN METEOROLOGY, 2016, 2016
  • [7] SPECTR: Scalable Parallel Short Read Error Correction on Multi-core and Many-core Architectures
    Xu, Kai
    Kobus, Robin
    Chan, Yuandong
    Gao, Ping
    Meng, Xiangxu
    Wei, Yanjie
    Schmidt, Bertil
    Liu, Weiguo
    PROCEEDINGS OF THE 47TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 2018,
  • [8] Parallel Subspace Clustering Using Multi-core and Many-core Architectures
    Datta, Amitava
    Kaur, Amardeep
    Lauer, Tobias
    Chabbouh, Sami
    NEW TRENDS IN DATABASES AND INFORMATION SYSTEMS, ADBIS 2017, 2017, 767 : 213 - 223
  • [9] On the parallelization of Hirschberg's algorithm for multi-core and many-core systems
    Joao, Mario, Jr.
    Sena, Alexandre C.
    Rebello, Vinod E. F.
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2019, 31 (18):
  • [10] A Fast Parallel GPS Acquisition Algorithm Based on Hybrid GPU and Multi-core CPU
    Kakooei, Mohammad
    Tabatabaei, Amir
    WIRELESS PERSONAL COMMUNICATIONS, 2019, 104 (04) : 1355 - 1366