FreeCompilerCamp.org is a free and open online training platform aimed to automate the training of compiler developers. Our platform is open source and allows anyone who is interested in developing compilers to learn the necessary skills for free. The platform is built on top of Play-With-Docker, a docker playground for users to conduct experiments in a sandbox. 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 compiler community.

While this platform can be used to host any compiler tutorials, we specially collect some tutorials for OpenMP compilers. We have created some initial tutorials to train users to learn how to use the ROSE or Clang/LLVM compiler to support OpenMP.

Classrooms

Clang/LLVM

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. The Clang project provides a language front-end and tooling infrastructure for languages in the C language family (C, C++, Objective C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.

ROSE

ROSE is a robust, open source, compiler-based infrastructure for building program transformation and analysis tools, developed at Lawrence Livermore National Laboratory. ROSE Tools can process large C, C++, Fortran, OpenMP, and UPC source codes, as well as binary executables. ROSE is particularly well suited for building custom tools for static analysis, program optimization, arbitrary program transformation, domain-specific optimizations, complex loop optimizations, performance analysis, and cyber-security analysis.

Publication

Anjia Wang, Alok Mishra, Chunhua Liao, Yonghong Yan, Barbara Chapman, FreeCompilerCamp.org: Training for OpenMP Compiler Development from Cloud, Sixth SC Workshop on Best Practices for HPC Training and Education: BPHTE19, 2019 [pdf]

Alok Mishra, Anjia Wang, Chunhua Liao, Yonghong Yan, Barbara Chapman, FreeCompilerCamp: Online Training for Extending Compilers, SC'19 Research Poster (also selected as a Best Poster nominee, 5 out of 106 submissions). [pdf]

This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344, and partially supported by the U.S. Dept. of Energy, Office of Science, ASCR SC-21), under contract DE-AC02-06CH11357. The work is also supported by the National ScienceFoundation under Grant No. 1833332 and 1652732. This website is still under development (LLNL-WEB-789932). For questions and comments, please file issues on our github repo or directly contact liao6@llnl.gov .