Lessons Learned: Contacts: [email protected], Patrick.Viry

Lessons Learned: Contacts: Mathias.Beck@Unige.Ch, Patrick.Viry

Running Java on GPUs An ESA Innovation Triangle Initiative with: • ESA’s Gaia mission • Observatoire de Genève • Ateji All Gaia code is in Java Introducing OpenCL or CUDA in the development process would be a huge disruption Ateji PX embeds parallelism in Java Multi-core parallelism already available, GPU target developed during this project →Port compute-intensive period search algorithms to the GPU Deeming, Lomb-Scargle, String-Length How it works: • Source-to-source translation from fragments of Java to OpenCL • Computation locality and communications expressed with Ateji PX extensions 1. Express parallelism with || Benchmarks: for(Obs o : observations) ... Becomes || (Obs o : observations) ... ► Computation now uses all available cores. 2. Express distribution to GPU with # annotations || (#OpenCL(), Obs o : observs) // these branches run on GPU || (...) // these branches run on CPU ► Mix of multicore and GPU computation 3. Express communication with message passing Channel c = ...; [ Lessons learned: || c ! value; || c ? value; • Parallelism easy to introduce in the code ] • No disruption in the Java devt. process ► Overlap of computation and communication • Pretty good speed-up on multi-cores • Similar perf. figures for GPU and 16-core GPU 4. Map the GPU memory hierarchy to lexical scope • But depend heavily on the hardware • Still a lot of room for improvement • Code needs refactoring for performance on GPU, such as loop pipelining and workgroup sizing • Even though we code in Java, detailed knowledge of GPU architecture is required • Performance / price ratio on multi-core vs. CPU • Not decisive • But hardware is evolving rapidly Contacts: [email protected], [email protected] Downloads & Documentation: www.ateji.com/px .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    1 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us