1*c8dee2aaSAndroid Build Coastguard Worker 2*c8dee2aaSAndroid Build Coastguard Worker--- 3*c8dee2aaSAndroid Build Coastguard Workertitle: "GPU Gardener Documentation" 4*c8dee2aaSAndroid Build Coastguard WorkerlinkTitle: "GPU Gardener Documentation" 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Worker--- 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Worker### Contents ### 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker* [What does a GPU Gardener do?](#what_is_a_gpu_gardener) 12*c8dee2aaSAndroid Build Coastguard Worker* [Tracking GPU Gardener Work](#tracking) 13*c8dee2aaSAndroid Build Coastguard Worker* [View current and upcoming rotations](#view_current_upcoming_rotations) 14*c8dee2aaSAndroid Build Coastguard Worker* [How to swap rotation shifts](#how_to_swap) 15*c8dee2aaSAndroid Build Coastguard Worker* [Tips for GPU Gardeners](#tips) 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard Worker<a name="what_is_a_gpu_gardener"></a> 19*c8dee2aaSAndroid Build Coastguard WorkerWhat does a GPU Gardener do? 20*c8dee2aaSAndroid Build Coastguard Worker---------------------------- 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard WorkerThe GPU Gardener has three main jobs: 23*c8dee2aaSAndroid Build Coastguard Worker 24*c8dee2aaSAndroid Build Coastguard Worker1) Stay on top of incoming GPU-related bugs from clients in various bug trackers. This means triaging and assigning bugs that have a clear owner and investigating and possibly fixing bugs that don't. Also triage the "OSS-Fuzz" untriaged bugs that are displayed on Skia's [status page](https://status.skia.org/). If required, ask for view access to the oss-fuzz bugs from the Skia members listed [here](https://github.com/google/oss-fuzz/blob/master/projects/skia/project.yaml). 25*c8dee2aaSAndroid Build Coastguard Worker 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard Worker2) Improve the reliability of the GPU bots. This includes dealing with flaky images, crashing bots, etc. We have a never ending set of machine or driver specific issues to deal with. We often brush them under the rug so that we have time for the "real work." When you're gardener this is "real work." 28*c8dee2aaSAndroid Build Coastguard Worker 29*c8dee2aaSAndroid Build Coastguard Worker 30*c8dee2aaSAndroid Build Coastguard Worker3) Improve our tooling. This includes writing new tools and improving existing test tools. Expected results are faster bot run times, more accurate testing, faster testing, surfacing new useful data, and improving debuggability. 31*c8dee2aaSAndroid Build Coastguard Worker 32*c8dee2aaSAndroid Build Coastguard Worker 33*c8dee2aaSAndroid Build Coastguard WorkerThe GPU Gardener should always prioritize dealing with incoming bugs. The balance of a gardener's time should be spent divided as seen fit between 2) and 3). It is expected that as much as possible a gardener puts normal work on pause and focuses on gardener tasks for the full week. It is ok (and encouraged) to take a deep dive on one particular facet of the gardener duties and drive it as far as possible during gardener week (while staying on top of incoming bugs). 34*c8dee2aaSAndroid Build Coastguard Worker 35*c8dee2aaSAndroid Build Coastguard WorkerNote that the GPU Gardener's job is NOT to spend an abnormal amount of time triaging images, filing bugs for failing bots, or shepherding DEPS rolls. You'll get your chance when you are the general Skia Gardener. 36*c8dee2aaSAndroid Build Coastguard Worker 37*c8dee2aaSAndroid Build Coastguard Worker<a name="tracking"></a> 38*c8dee2aaSAndroid Build Coastguard WorkerTracking GPU Gardener Work 39*c8dee2aaSAndroid Build Coastguard Worker-------------------------- 40*c8dee2aaSAndroid Build Coastguard WorkerOutside of bug reports, a GPU Gardener should track their progress so that a future gardener can pick up any batons left shy of the finish line at week's end. 41*c8dee2aaSAndroid Build Coastguard Worker 42*c8dee2aaSAndroid Build Coastguard WorkerAlso, whenever a gardener figures out how to accomplish a gardenly task (e.g. run a set of Chromium tests that aren't well documented or a cool OpenGL trick used to debug a gnarly issue) the tips section of this doc should be updated to assist future gardeners. 43*c8dee2aaSAndroid Build Coastguard Worker 44*c8dee2aaSAndroid Build Coastguard Worker 45*c8dee2aaSAndroid Build Coastguard Worker<a name="view_current_upcoming_rotations"></a> 46*c8dee2aaSAndroid Build Coastguard WorkerView current and upcoming rotations 47*c8dee2aaSAndroid Build Coastguard Worker----------------------------------- 48*c8dee2aaSAndroid Build Coastguard Worker 49*c8dee2aaSAndroid Build Coastguard WorkerThe list of GPU Gardeners is specified [here](https://rotations.corp.google.com/rotation/6176639586140160). 50*c8dee2aaSAndroid Build Coastguard WorkerThe gardeners widget on the [status page](https://status.skia.org) also displays the current gardeners. 51*c8dee2aaSAndroid Build Coastguard Worker 52*c8dee2aaSAndroid Build Coastguard Worker 53*c8dee2aaSAndroid Build Coastguard Worker<a name="how_to_swap"></a> 54*c8dee2aaSAndroid Build Coastguard WorkerHow to swap rotation shifts 55*c8dee2aaSAndroid Build Coastguard Worker--------------------------- 56*c8dee2aaSAndroid Build Coastguard Worker 57*c8dee2aaSAndroid Build Coastguard WorkerIf you need to swap shifts with someone (because you are out sick or on vacation), please get approval from the person you want to swap with and directly make the swap via the [rotations page](https://rotations.corp.google.com/rotation/6176639586140160). 58*c8dee2aaSAndroid Build Coastguard Worker 59*c8dee2aaSAndroid Build Coastguard Worker 60*c8dee2aaSAndroid Build Coastguard Worker<a name="tips"></a> 61*c8dee2aaSAndroid Build Coastguard WorkerTips for GPU Gardeners 62*c8dee2aaSAndroid Build Coastguard Worker---------------------- 63*c8dee2aaSAndroid Build Coastguard Worker 64*c8dee2aaSAndroid Build Coastguard WorkerPlease see [this](https://docs.google.com/a/google.com/document/d/1Q1A5T5js4MdqvD0EKjCgNbUBJfRBMPKR3OZAkc-2Tvc/edit?usp=sharing) doc. 65*c8dee2aaSAndroid Build Coastguard Worker 66