iam.dev.br

Acelere o código Python 100x importando taichi as ti

Python se tornou a linguagem mais popular em muitos setores em rápida evolução, como aprendizado profundo (Deep Learning) e ciências de dados. No entanto, sua fácil legibilidade vem com o custo do desempenho. Claro, todos nós reclamamos do desempenho do programa de tempos em tempos, e o Python certamente não deve levar toda a culpa. Ainda assim, é justo dizer que a natureza do Python como uma linguagem interpretada não ajuda, especialmente em cenários de computação intensiva (por exemplo, quando há vários loops for aninhados).

Se você já foi pego em uma das seguintes situações, então este artigo é definitivamente para você:

  • Demora uma eternidade para executar um loop for enorme no meu programa Python …
  • Meu programa tem um gargalo em algumas tarefas de computação. Reescrever o código em C++ e chamar C++ com o módulo ctypes pode funcionar, mas não é simples o suficiente e corre o risco de falhas de compilação quando o código é transplantado para outros dispositivos. Seria muito melhor se eu pudesse manter todo o trabalho feito em um script Python.
  • Sou um usuário fiel de C++/Fortran, mas gostaria de experimentar o Python, pois está ganhando popularidade crescente. No entanto, reescrever código em Python é um pesadelo – sinto que o desempenho deve ser mais de 100 vezes mais lento do que antes!
  • Eu preciso processar muitas imagens, e o OpenCV não pode me dar o que eu quero. Então eu tenho que escrever loops aninhados manualmente. Isso não é muito agradável.

Se você puder se relacionar, talvez queira aprender mais sobre o Taichi. Para quem ainda não ouviu falar do Taichi: Taichi é um DSL embutido em Python, mas tem seu próprio compilador para assumir o código decorado com @ti.kernel, alcançando execução de alto desempenho em todos os tipos de hardware, incluindo CPU e GPU. Uma das vantagens mais notáveis ​​que ele oferece é acelerar o código Python, portanto, não há mais necessidade de invejar o desempenho do C++/CUDA.

Siga o link para o artigo: https://docs.taichi-lang.org/blog/accelerate-python-code-100x

Créditos da imagem: Taichi Lang – Divugação