iCetus: A Semi-automatic Parallel Programming Assistant

被引:1
|
作者
Barakhshan, Parinaz [1 ]
Eigenmann, Rudolf [1 ]
机构
[1] Univ Delaware, Newark, DE 19716 USA
关键词
Interactive source-to-source compiler; OpenMP parallel programming model; Shared memory architecture; Code optimization; Code parallelization;
D O I
10.1007/978-3-030-99372-6_2
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The iCetus tool is a new interactive parallelizer, providing users with a range of capabilities for the source-to-source transformation of C programs using OpenMP directives in shared memory machines. While the tool can parallelize code fully automatically for non-experts, power users can steer the parallelization process in a menu-driven way. iCetus which is still in its early stages of development is implemented as a web application for easy access, eliminating the need for user installation and updates. The tool supports the user through all phases of the program transformation process, including program analyses, parallelization, and optimization. The first phase includes both static and dynamic analyses, pointing out loops that represent performance bottlenecks and should be improved. The parallelization phase offers diverse options to cater to different levels of user skills. By displaying compiler analyses results in an interactive manner, iCetus supports the user in pinpointing parallelization impediments and resolving them. During the optimization phase, the programmer can apply successive improvements by editing the program, evaluating the performance, and comparing it to that obtained by previous program versions. iCetus also serves as a learning tool to help users understand important program patterns and their parallelization. In this way, it also helps train the user in writing code that likely yields better performance.
引用
收藏
页码:18 / 32
页数:15
相关论文
共 50 条
  • [1] Spar: A programming language for semi-automatic compilation of parallel programs
    VanReeuwijk, K
    VanGemund, AJC
    Sips, HJ
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 1997, 9 (11): : 1193 - 1205
  • [2] Towards Designing an Assistant for Semi-Automatic EMS Dispatching
    Reuter-Oppermann, Melanie
    Morana, Stefan
    Hottum, Peter
    [J]. PROCEEDINGS OF THE 50TH ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, 2017, : 3556 - 3565
  • [3] SEMI-AUTOMATIC PROCESS PARTITIONING FOR PARALLEL COMPUTATION
    KOELBEL, C
    MEHROTRA, P
    VANROSENDALE, J
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 1987, 16 (05) : 365 - 382
  • [4] Supporting the Semi-automatic Feedback Provisioning on Programming Assignments
    Strickroth, Sven
    Holzinger, Florian
    [J]. METHODOLOGIES AND INTELLIGENT SYSTEMS FOR TECHNOLOGY ENHANCED LEARNING, 2023, 580 : 13 - 19
  • [5] AlignVis: Semi-automatic Alignment and Visualization of Parallel Translations
    Alharbi, Mohammad
    Cheesman, Tom
    Laramee, Robert S.
    [J]. 2020 24TH INTERNATIONAL CONFERENCE INFORMATION VISUALISATION (IV 2020), 2020, : 98 - 108
  • [6] Semi-Automatic Assessment Approach to Programming Code for Novice Students
    Buyrukoglu, Selim
    Batmaz, Firat
    Lock, Russell
    [J]. PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED EDUCATION, VOL 1 (CSEDU), 2016, : 289 - 297
  • [7] Semi-automatic differentiation
    Coleman, TF
    Santosa, F
    Verma, A
    [J]. COMPUTATIONAL METHODS FOR OPTIMAL DESIGN AND CONTROL, 1998, 24 : 113 - 126
  • [8] The semi-automatic nucleator
    Hansen, L. V.
    Nyengaard, J. R.
    Andersen, J. B.
    Jensen, E. B. V.
    [J]. JOURNAL OF MICROSCOPY, 2011, 242 (02) : 206 - 215
  • [9] SEMI-AUTOMATIC WELDING
    不详
    [J]. BRITISH WELDING JOURNAL, 1966, 13 (03): : 177 - &
  • [10] An e-Learning system for programming languages with semi-automatic grading
    Chen, Lih-Shyang
    Chang, Shu-Han
    Chen, Chao-Cheng
    Yang, Emily
    [J]. 2017 10TH INTERNATIONAL CONFERENCE ON UBI-MEDIA COMPUTING AND WORKSHOPS (UBI-MEDIA), 2017, : 356 - 361