Justin Gosselin, Anjia Wang, P. Pirkelbauer, C. Liao, Yonghong Yan, D. Dechev
{"title":"扩展FreeCompilerCamp.org作为编译器开发的在线自学平台","authors":"Justin Gosselin, Anjia Wang, P. Pirkelbauer, C. Liao, Yonghong Yan, D. Dechev","doi":"10.1109/EduHPC51895.2020.00011","DOIUrl":null,"url":null,"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: openbook 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.","PeriodicalId":269408,"journal":{"name":"2020 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Extending FreeCompilerCamp.org as an Online Self-Learning Platform for Compiler Development\",\"authors\":\"Justin Gosselin, Anjia Wang, P. Pirkelbauer, C. Liao, Yonghong Yan, D. Dechev\",\"doi\":\"10.1109/EduHPC51895.2020.00011\",\"DOIUrl\":null,\"url\":null,\"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: openbook 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.\",\"PeriodicalId\":269408,\"journal\":{\"name\":\"2020 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC)\",\"volume\":\"50 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/EduHPC51895.2020.00011\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EduHPC51895.2020.00011","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Extending FreeCompilerCamp.org as an Online Self-Learning Platform for Compiler Development
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: openbook 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.