A Domain-Specific Language for Volume Processing and Visualization on Distributed Heterogeneous Systems

vivaldi

As the size of image data from microscopes and telescopes increases, the need for high-throughput processing and visualization of large volumetric data has become more pressing. At the same time, many-core processors and GPU accelerators are commonplace, making high-performance distributed heterogeneous computing systems affordable. However, effectively utilizing GPU clusters is difficult for novice programmers, and even experienced programmers often fail to fully leverage the computing power of new parallel architectures due their steep learning curve and programming complexity.

In this research, we propose a new domain-specific language for volume processing and visualization on distributed heterogeneous computing systems, called Vivaldi (VIsualization LAnguage for DIstributed sytstems). Vivaldi’s Python-like grammar and parallel processing abstractions provide flexible programming tools for non-experts to easily write high-performance parallel computing code. Vivaldi provides commonly used functions and numerical operators for customized visualization and high-throughput image processing applications. We demonstrate the performance and usability of Vivaldi on several examples ranging from volume rendering to image segmentation.

  • [PDF] [DOI] H. Choi, W. Choi, T. M. Quan, D. G. C. Hildebrand, H. Pfister, and W. Jeong, “Vivaldi: a domain-specific language for volume processing and visualization on distributed heterogeneous systems,” IEEE transactions on visualization and computer graphics, vol. 20, iss. 12, pp. 2407-2416, 2014.
    [Bibtex]
    @article{choi_vivaldi_2014,
    title = {Vivaldi: A Domain-Specific Language for Volume Processing and Visualization on Distributed Heterogeneous Systems},
    volume = {20},
    issn = {1077-2626},
    shorttitle = {Vivaldi},
    doi = {10.1109/TVCG.2014.2346322},
    abstract = {As the size of image data from microscopes and telescopes increases, the need for high-throughput processing and visualization of large volumetric data has become more pressing. At the same time, many-core processors and {GPU} accelerators are commonplace, making high-performance distributed heterogeneous computing systems affordable. However, effectively utilizing {GPU} clusters is difficult for novice programmers, and even experienced programmers often fail to fully leverage the computing power of new parallel architectures due to their steep learning curve and programming complexity. In this paper, we propose Vivaldi, a new domain-specific language for volume processing and visualization on distributed heterogeneous computing systems. Vivaldi's Python-like grammar and parallel processing abstractions provide flexible programming tools for non-experts to easily write high-performance parallel computing code. Vivaldi provides commonly used functions and numerical operators for customized visualization and high-throughput image processing applications. We demonstrate the performance and usability of Vivaldi on several examples ranging from volume rendering to image segmentation.},
    number = {12},
    journal = {{IEEE} Transactions on Visualization and Computer Graphics},
    author = {Choi, H. and Choi, W. and Quan, T.M. and Hildebrand, D.G.C. and Pfister, H. and Jeong, W.},
    month = dec,
    year = {2014},
    keywords = {computational modeling, Data models, Data visualization, distributed heterogeneous systems, Domain-specific language, {GPU} computing, graphics processing units, image classification, parallel processing, rendering (computer graphics), volume rendering},
    pages = {2407--2416},
    file = {{IEEE} Xplore Abstract Record:H\:\\Zotero\\storage\\ED5RN7ME\\articleDetails.html:text/html;{IEEE} Xplore Full Text PDF:H\:\\Zotero\\storage\\XKKZSRWV\\Choi et al. - 2014 - Vivaldi A Domain-Specific Language for Volume Pro.pdf:application/pdf}
    }