FreeCompilerCamp.org: Training for OpenMP Compiler Development from Cloud

Anjia Wang, Alok Mishra, Chunhua Liao, Yonghong Yan, and Barbara Chapman

Volume 11, Issue 1 (January 2020), pp. 53–60

https://doi.org/10.22369/issn.2153-4136/11/1/9

PDF icon Download PDF

BibTeX
@article{jocse-11-1-9,
  author={Anjia Wang and Alok Mishra and Chunhua Liao and Yonghong Yan and Barbara Chapman},
  title={FreeCompilerCamp.org: Training for OpenMP Compiler Development from Cloud},
  journal={The Journal of Computational Science Education},
  year=2020,
  month=jan,
  volume=11,
  issue=1,
  pages={53--60},
  doi={https://doi.org/10.22369/issn.2153-4136/11/1/9}
}
Copied to clipboard!

OpenMP is one of the most popular programming models to exploit node-level parallelism of supercomputers. Many researchers are interested in developing OpenMP compilers or extending existing standard for new capabilities. However, there is a lack of training resources for researchers who are involved in the compiler and language development around OpenMP, making learning curve in this area steep. In this paper, we introduce an ongoing effort, FreeCompilerCamp.org, a free and open online learning platform aimed to train researchers to quickly develop OpenMP compilers. The platform is built on top of Play-With-Docker, a docker playground for users to conduct experiments in an online terminal sandbox. It provides a live training website that is set up on cloud, so anyone with internet access and a web browser will be able to take the training. It also enables developers with relevant skills to contribute new tutorials. The entire training system is open-source and can be deployed on a private server, workstation or even laptop for personal use. We have created some initial tutorials to train users to learn how to extend the Clang/LLVM and ROSE compiler to support new OpenMP features. We welcome anyone to try out our system, give us feedback, contribute new training courses, or enhance the training platform to make it an effective learning resource for the HPC community.