skip to main content
10.1145/2237887.2237888acmconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

A data-parallel extension to Ruby for GPGPU: toward a framework for implementing domain-specific optimizations

Published: 13 June 2012 Publication History

Abstract

We propose Ikra, a data-parallel extension to Ruby for general-purpose computing on graphical processing unit (GPGPU). Our approach is to provide a special array class with higher-order methods for describing computation on a GPU. With a static type inference system that identifies code fragments that shall be executed on a GPU and with a skeleton-based compiler that generates CUDA code, we aim at separating application logic and parallelization and optimizations. The paper presents the design of Ikra and an overview of its implementation along with preliminary performance evaluation.

References

[1]
Chakravarty, M. M., et al. Accelerating Haskell array codes with multicore GPUs. In DAMP, pp. 3--14, 2011.
[2]
Klöckner, et al. PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation. submitted for publication, Nov. 2009.
[3]
Lee, S., Min, S.-J., and Eigenmann, R. OpenMP to GPGPU: a compiler framework for automatic translation and optimization. In PPoPP, pp. 101--110, 2009.
[4]
Nystrom, N., White, D., and Das, K. Firepile: run-time compilation for GPUs in Scala. In GPCE, pp. 107--116, 2011.

Cited By

View all
  • (2019)Python programmers have GPUs too: automatic Python loop parallelization with staged dependence analysisProceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages10.1145/3359619.3359743(42-54)Online publication date: 20-Oct-2019
  • (2016)Object support in an array-based GPGPU extension for RubyProceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming10.1145/2935323.2935327(25-31)Online publication date: 2-Jun-2016
  • (2015)Area-Efficient Near-Associative Memories on FPGAsACM Transactions on Reconfigurable Technology and Systems10.1145/26294717:4(1-22)Online publication date: 23-Jan-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
RAM-SE '12: Proceedings of the 9th ECOOP Workshop on Reflection, AOP, and Meta-Data for Software Evolution
June 2012
17 pages
ISBN:9781450312776
DOI:10.1145/2237887
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Ruby
  2. data-parallel programming
  3. general-purpose computing on graphical processing unit (GPGPU)
  4. type inference

Qualifiers

  • Research-article

Conference

ECOOP'12
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Python programmers have GPUs too: automatic Python loop parallelization with staged dependence analysisProceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages10.1145/3359619.3359743(42-54)Online publication date: 20-Oct-2019
  • (2016)Object support in an array-based GPGPU extension for RubyProceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming10.1145/2935323.2935327(25-31)Online publication date: 2-Jun-2016
  • (2015)Area-Efficient Near-Associative Memories on FPGAsACM Transactions on Reconfigurable Technology and Systems10.1145/26294717:4(1-22)Online publication date: 23-Jan-2015
  • (2013)OCTETACM SIGPLAN Notices10.1145/2544173.250951948:10(693-712)Online publication date: 29-Oct-2013
  • (2013)Online feedback-directed optimizations for parallel Java codeACM SIGPLAN Notices10.1145/2544173.250951848:10(713-728)Online publication date: 29-Oct-2013
  • (2013)Barrier invariantsACM SIGPLAN Notices10.1145/2544173.250951748:10(605-622)Online publication date: 29-Oct-2013
  • (2013)River trailACM SIGPLAN Notices10.1145/2544173.250951648:10(729-744)Online publication date: 29-Oct-2013
  • (2013)River trailProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509516(729-744)Online publication date: 29-Oct-2013
  • (2012)CRUISEACM SIGARCH Computer Architecture News10.1145/2189750.215100340:1(249-260)Online publication date: 3-Mar-2012
  • (2012)Comprehensive kernel instrumentation via dynamic binary translationACM SIGARCH Computer Architecture News10.1145/2189750.215099240:1(135-146)Online publication date: 3-Mar-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media