syclacademy
syclacademy copied to clipboard
Curriculum builder
Usually in the lead up to training events, we pick a subset of sections that we want to do for a particular session. We then usually develop on these branches and apply lots of fixes to these branches. Once we have moved sections around it is often difficult/painful to push latest updates on new branches back up into main.
This new script makes a reduced curriculum from main for a list of sections.
Example:
$ bash generate-curriculum.sh 6 8 18B 12
Have generated curriculum with
Code exercises:
Exercise_01_Vector_Add
Exercise_02_USM_Vector_Add
Exercise_04_Temporary_Data
Lesson materials:
Lecture_01_Data_Parallelism
Lecture_02_Using_USM
Lecture_03_Think_Performance_Portable
Lecture_04_Advanced_Data_Flow
This will allow us to do most of our maintenance/development on main, and only generate the workshop specific material at the very last minute, by running this script from main and then making a new branch.
@ProGTX @rodburns @AerialMantis @illuhad @keryell
I think this addresses somehow https://github.com/codeplaysoftware/syclacademy/pull/215#issuecomment-1509643598
@AerialMantis I've just added some stuff that tracks dependencies across chapters. Are you ready to approve this? Would be good to get off the backburner
I could make a TODO to split the existing exercises into buffer and USM versions and then the correct exercise is chosen based on whether USM or buffers have been covered in the syllabus
Here is a sample curriculum https://github.com/hdelan/syclacademy/tree/test-curriculum-builder . All the links in the new curriculum's README point to the correct places.
Making a reduced curriculum and then building with ninja works as expected. I think this should be ready to merge if I can get a quick review @DuncanMcBain @rafbiels