SC20 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Extending FreeCompilerCamp.org as an Online Self-Learning Platform for Compiler Development


Workshop:EduHPC20: Workshop on Education for High-Performance Computing

Authors: Justin P. Gosselin (Lawrence Livermore National Laboratory, University of Central Florida); Anjia Wang (Lawrence Livermore National Laboratory; University of North Carolina, Charlotte); Peter Pirkelbauer (Lawrence Livermore National Laboratory, University of Central Florida); Chunhua Liao (Lawrence Livermore National Laboratory); Yonghong Yan (University of North Carolina, Charlotte); and Damian Dechev (University of Central Florida)


Abstract: Compilers and compiler-based tools have become increasingly critical for optimizing high-performance computing workloads; however, compiler development remains difficult and time consuming due to the complex nature of compilers. FreeCompilerCamp.org is an online training framework for compiler development that allows users to complete hands-on tutorials with a Linux environment that is directly embedded in the web browser. It provides an effective and convenient training platform for both new and experienced compiler developers. In this paper, we present our enhancements to the framework to support self-evaluation and learning outcome feedback for trainees. We extend FreeCompilerCamp to support a fully contained self-learning environment with exercises and examinations providing immediate and automatic feedback via server-side grading. We achieve this through two forms of evaluation: open-book practicals and closed-book exams. To facilitate learning, we design several new tutorials and improve the framework to support both CPU and GPU servers and docker images, optimize resource utilization, and enhance usability. Our extended platform, FreeCompilerCamp v1.1, follows the same extensibility design goals as the original to allow for new practicals and exams, providing an effective method to reduce the barrier of entry to compiler development.





Back to EduHPC20: Workshop on Education for High-Performance Computing Archive Listing



Back to Full Workshop Archive Listing