-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[semester-upkeep
] Enable YAML control of Kaggle's GPU setting
#30
Comments
Would adding a GPU boolean parameter to meeting objects be a sound start to a solution? and/or changing the parse_yaml and write_yaml functions to allow for this indication? |
I believe all this requires is to add {{ kaggle.enable_gpu }} to the template.
|
I'm not seeing in meetings.py line 166-167 ish
after we write to this metadata, (enable_gpu should be written with a changed template described above), where/when/how does the kernel-metadata.json actually help the new notebook get published using kaggle API? |
I am also confused by the purpose of the write_yaml function in the meeting meta, where else is it called? |
so , i believe we are going to be accessing the kernel metadata in autobot/lib/apis/kaggle.py push_kernel function. instead of doing a we do a
if this is the case, we would be only pushing the kernel specified by this metadata (and push it WITH this metadata so we can push it with enable_gpu as true. What I don't fully understand yet: how was this kernel-metadata.json file getting pushed before, without this subprocess call edit? |
looks good! (this similar to the solution i was thinking of.) 😅 you'll also want to modify the @brandons209 (thoughts on Kaggle GPU setting to true/false by default?)
those lines are loading that template JSON. the actual substitutions are happening on line 173: https://github.com/ucfai/bot/blob/409902fc7fa352d0e619ceaf661dd837f91d160f/autobot/lib/utils/meetings.py#L173
based on how the i avoided the
all told, looks like you're on the right track. i'll need to help you decode the JSON configuration file, DM on discord for that. There's also some playing around to be done with reacting to Kaggle (but i think this belongs in a separate issue (#39), since it's not required). |
I think I got this figured out, but unsure why you think changing parse_yaml is necessary. We are holding this data in the meeting object.optional.kaggle. It is only ever(?) obtained through syllabus.yml file in line 90, and use syllabus.yml as dictionary "meeting" parameter make a meeting object in line 97 of ops.py. |
So,
You're correct that all this data is stored in So, we could just migrate |
issue #30 kaggleGPU .YML control. only change needed in template
Just a note, when referring to
groups
...groups := {intelligence, core, data-science, supplementary}
Feature Request, for
autobot
Description Not all Kaggle Kernels need GPUs. More importantly, Kaggle limits us to 2 active GPU Kernels, while we're allowed up to 10 CPU Kernels. Based on this, it makes sense to toggle GPUs from
syllabus.yml
– this also allows for toggling the meeting's info if there's a need to rapidly iterate on the Kaggle Kernel.Needs
Initial Comments
syllabus.yml
specifies all the parameters needed for a given meeting's setup. Withinsyllabus.yml
, one should find...You'll want to make sure that this parameter is both parsed and later propagated to a meeting's
kernel-metadata.json
file – the template file is here:The text was updated successfully, but these errors were encountered: