„Pytorch“/„XLA“ paleidimas „Docker“ konteineryje gali pateikti keletą iššūkių. Čia yra keletas bendrų klausimų:
1. Net ir esant išankstinei aplinkai, pradedant XLA konteinerius, ypač naudojant tam tikrus „Docker“ vaizdus, tokius kaip „Nightly_3.7nightLy_3.7_20220624“, arba „R1.12_3.7_TPUVM_20220614“ [1] [3].
2. Trūksta XLA konfigūracijos: dažna klaida yra „Trūksta XLA konfigūracijos“ paleidžiant „Pytorch/XLA“. Tai galima išspręsti nustatus „XRT_TPU_CONFIG“ aplinkos kintamąjį tinkamai ir užtikrinant, kad TPU egzempliorius būtų pradėtas nuo teisingų sričių [4].
3. Veiklos problemos: „Pytorch“/„XLA“ gali nukentėti dėl veiklos pablogėjimo dėl tokių veiksnių kaip dinaminės tenzorių formos ir operacijos, kuriose nėra vietinių XLA vertimų. Dažni pakartojimai gali sulėtinti mokymą, o tam tikroms operacijoms gali reikėti perduoti duomenis į CPU įvertinti [2].
4. GPU ir CUDA suderinamumas: Kai naudojate „Pytorch/XLA“ su GPU, kyla problemų, nes „Pytorch“ ir „Pytorch/XLA“ negali abu naudoti CUDA vienu metu. Tam reikia nustatyti `use_cuda = 0` ir naudoti konkrečias GPU pagreičio konfigūracijas naudojant XLA [5] [7].
5. Įrenginių matomumas: „Docker“ konteineriuose GPU įrenginiai gali būti nematomi, nebent konteineris bus paleistas iš naujo įdiegus „NVIDIA“ konteinerio įrankių rinkinį [7]. Panašiai TPU įrenginiams reikia tinkamos sąrankos ir konfigūracijos, kurią reikia atpažinti konteineryje.
Citatos:[1] https://github.com/pytorch/xla/issues/3665
[2] https://pytorch.org/xla/release/r2.5/debug.html
[3] https://github.com/pytorch/xla/issues/3132
[4] https://stackoverflow.com/questions/63486381/Missing-xla-configuration-when-Running-pytorch-xla
[5] https://discuss.pytorch.org/t/why-use-cuda-must-be-0-when-xla-cuda-1/172692
[6] https://pytorch.org/xla/release/2.2/index.html
[7] https://pytorch.org/xla/master/gpu.html
[8] https://cloud.google.com/blog/topics/developers-practioners/scaling-deep-learning-workloads-pytorch-xla-and-cloud-tpu-vm