Parallel intersection counting on shared-memory multiprocessors and GPUs

被引:0
|
作者
Marzolla, Moreno [1 ,3 ,4 ]
Birolo, Giovanni [2 ]
D'Angelo, Gabriele [1 ,3 ]
Fariselli, Piero [2 ]
机构
[1] Univ Bologna, Dipartimento Informat Sci & Ingn DISI, Mura Anteo Zamboni 7, I-40126 Bologna, Italy
[2] Univ Torino, Dipartimento Sci Med, Corso Dogliotti 14, IT-10126 Turin, Italy
[3] Univ Bologna, Ctr Interdept Ind Res ICT, I-40126 Bologna, Italy
[4] Univ Bologna, Dept Comp Sci & Engn DISI, Cesena Campus,Via Univ 50, I-47521 Cesena, Italy
基金
欧盟地平线“2020”;
关键词
Intersection counting; Parallel algorithms; GPU programming; Shared-memory algorithm; Bioinformatics; ALGORITHM;
D O I
10.1016/j.future.2024.05.039
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Computing intersections among sets of one-dimensional intervals is an ubiquitous problem in computational geometry with important applications in bioinformatics, where the size of typical inputs is large and it is therefore important to use efficient algorithms. In this paper we propose a parallel algorithm for the 1D intersection -counting problem, that is, the problem of counting the number of intersections between each interval in a given set A and every interval in a set B . Our algorithm is suitable for shared -memory architectures (e.g., multicore CPUs) and GPUs. The algorithm is work -efficient because it performs the same amount of work as the best serial algorithm for this kind of problem. Our algorithm has been implemented in C++ using the Thrust parallel algorithms library, enabling the generation of optimized programs for multicore CPUs and GPUs from the same source code. The performance of our algorithm is evaluated on synthetic and real datasets, showing good scalability on different generations of hardware.
引用
收藏
页码:423 / 431
页数:9
相关论文
共 50 条
  • [1] A PARALLEL LINKED LIST FOR SHARED-MEMORY MULTIPROCESSORS
    TANG, PY
    YEW, PC
    ZHU, CQ
    PROCEEDINGS : THE THIRTEENTH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 1989, : 130 - 135
  • [2] Parallel Execution of Prolog on Shared-Memory Multiprocessors
    高耀清
    王鼎兴
    郑纬民
    沈美明
    黄志毅
    胡守仁
    Giorgio Levi
    JournalofComputerScienceandTechnology, 1993, (04) : 329 - 336
  • [3] Parallel classification for data mining on shared-memory multiprocessors
    Zaki, MJ
    Ho, CT
    Agrawal, R
    15TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 1999, : 198 - 205
  • [4] Parallel Data Distribution Management on Shared-memory Multiprocessors
    Marzolla, Moreno
    D'angelo, Gabriele
    ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION, 2020, 30 (01):
  • [5] Distributed, Shared-Memory Parallel Triangle Counting
    Kanewala, Thejaka Amila
    Zalewski, Marcin
    Lumsdaine, Andrew
    PROCEEDINGS OF THE PLATFORM FOR ADVANCED SCIENTIFIC COMPUTING CONFERENCE (PASC '18), 2017,
  • [6] AND OR PARALLELISM ON SHARED-MEMORY MULTIPROCESSORS
    GUPTA, G
    JAYARAMAN, B
    JOURNAL OF LOGIC PROGRAMMING, 1993, 17 (01): : 59 - 89
  • [7] SMALL SHARED-MEMORY MULTIPROCESSORS
    BASKETT, F
    HENNESSY, JL
    SCIENCE, 1986, 231 (4741) : 963 - 967
  • [8] Architectural support for parallel reductions in scalable shared-memory multiprocessors
    Garzarán, MJ
    Prvulovic, M
    Zhang, Y
    Jula, A
    Yu, H
    Rauchwerger, L
    Torrellas, J
    2001 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2001, : 243 - 254
  • [9] A parallel copying garbage collection scheme for shared-memory multiprocessors
    Ali, KAM
    NEW GENERATION COMPUTING, 1996, 14 (01) : 53 - 77
  • [10] PARALLEL ALGORITHMS FOR STRESS-ANALYSIS ON SHARED-MEMORY MULTIPROCESSORS
    ADELI, H
    KAMAL, O
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 591 : 426 - 437