Python presenta a Numba, un compilador de alto rendimiento

Numba, un compilador público justo a tiempo (JIT) fue publicado recientemente por Anaconda. Convierte ciertos códigos de Python y NumPy en código máquina eficiente.

Cuando se invoca Numba, el nuevo compilador convierte las funciones de Python en código de máquina que es desde dos veces (para operaciones simples de NumPy) hasta cien veces (para bucles sofisticados de Python) más rápido.

Prueba todo lo que Numba tiene para ofrecer desde aquí.

Los “decoradores” de Numba son una poderosa herramienta para automatizar la compilación de tus funciones.

Como resultado, siempre que el código ejecute una función decorado con Numba, puede hacerlo a la misma velocidad que si estuviera escrito en código de máquina.

  • SO: Windows (32 y 64 bits), OSX, Linux (32 y 64 bits). Soporte no oficial en BSD.
  • Arquitectura: x86, x86_64, ppc64le, armv7l, armv8l (aarch64). Soporte no oficial en M1/Arm64.
  • GPU: Nvidia CUDA.
  • CPython
  • NumPy 1.18 – última versión

No se recomienda compilar Numba desde la fuente si eres un usuario primerizo. Debido a su función central, la dependencia de otros componentes está estrictamente limitada.

Sin embargo, se pueden agregar los siguientes paquetes opcionales para ampliar las capacidades del sistema:

  • Scipy hace posible compilar funciones Numpy-.linalg.
  • Colorama permite el uso de resaltado de color en mensajes de error y backtraces.
  • pyyaml admite la configuración de Numba a través de un archivo de configuración YAML.
  • IntelSVML (biblioteca matemática vectorial corta de alto rendimiento, solo x86 64) se puede usar con icc_rt. Los consejos de rendimiento proporcionan instrucciones de instalación.

¿Como funciona Numba?

Para una función decorada escrita en Python, Numba leerá el código de bytes y lo combinará con información sobre los tipos de argumentos pasados a la función.

Cuando termina de analizar y optimizar el código, utiliza la biblioteca del compilador LLVM para generar código de máquina para que tu función se ejecute sin problemas en tu CPU.

Cada vez que utilices esa función, se utilizará esa versión construida.

En la medida en que tu CPU admite la ejecución en modo nopython o al menos la compilación de ciertos bucles, Numba optimizará tu compilación para tu hardware.

Es posible ver un aumento de velocidad importante según la tarea en cuestión.

Numba te ofrece muchas opciones para paralelizar fácilmente el código en CPU y GPU con pocas modificaciones:

  • Racionalización de subprocesos: Numba ejecuta automáticamente expresiones de matriz NumPy en varios núcleos de CPU, lo que simplifica la creación de bucles paralelos.
  • Vectorización SIMD: Numba puede transformar ciertos bucles en instrucciones vectoriales, lo que resulta en aumentos de rendimiento de 2 a 4 veces. Numba se puede ejecutar en CPU compatibles con SSE, AVX o AVX-512, ya que se ajusta automáticamente para aprovechar al máximo las funciones del procesador.
  • Aceleración GPU: Numba es la biblioteca de Python elegida, ya que permite escribir algoritmos de GPU paralelos desde cero sin dejar de ser compatible con NVIDIA CUDA.

Relacionado

15 Excelentes Libros GRATIS de Programación hechos por el creador de tutoriales de programación Flaviocopes (en inglés)

En los siguientes manuales vas a encontrar un gran contenido (en inglés) creado por @flaviocopes. Si te gustan sus contenidos, no dejes de visitar su página web flaviocopes.com, en la que Flavio publica un artículo en el que aprender algo nuevo cada día. Manual de Python. 2021 PDF, ePub, Mobi Manual para principiantes de React. 2020 PDF, ePub, Mobi Manual para principiantes de JavaScript. 2020 PDF, ¡SEGUIR LEYENDO!

15 Mejores Lenguajes de Programación que Aprender

Una de las habilidades más importantes para aprender en el mundo de hoy en día, es saber programar con un lenguaje de programación. En la actualidad, las computadoras han entrado en casi todas las industrias, desde el piloto automático de un avión hasta el velocímetro digital de una bicicleta pasando por la inclusión del Internet de las cosas en los pequeños electrodomésticos. Casi todo lo que ¡SEGUIR LEYENDO!

17 Nuevos Cursos Gratuitos de SQL, Python, Diseño Web y Más (06 de Marzo)

Regreso con nuevos cursos gratis, recuerda que algunos de los cupones de los cursos publicados ayer, es muy posible que aún sigan activos; y vas a poder encontrar cursos en español de javascript -typescript, react,vue- y Unity. Además, de cursos en inglés de Python, R, SQL y más; también tienes muchos cursos totalmente gratis y una gran oferta de guías para programación de O´Reilly (en inglés) ¡SEGUIR LEYENDO!

21 Nuevos Cursos Gratuitos: Python, Google Cloud, CSS y Más (25 de Febrero 2021)

Como de costumbre, vamos con los cursos gratis, tenemos 3 cursos en español: Computación, Google Cloud y aplicaciones web; y 18 cursos gratuitos en inglés: Python, Flask, Ionic, PHP, Android, Github, CSS, Flexbox, Illustrator, Photoshop, Scrum y minado de Sugar. Recuerda, que puedes si quieres, puedes acceder a las Mejores Ofertas de Udemy ¡Alé, aprendamos gratis un ratico! Cursos en Español Computación ? Curso Gratuito de ¡SEGUIR LEYENDO!

25 Mejores cursos de Udemy 2020 [EN]

Más de 20 expertos han compilado esta lista de los mejores cursos, certificados, tutoriales, capacitación y clases de Udemy disponibles en línea para 2020. Estos incluyen las mejores ofertas y descuentos para brindarte los mejores precios en oferta. Los cursos son adecuados para principiantes, estudiantes intermedios y expertos. Esta compilación ya ha ayudado a más de 72.000 estudiantes y se actualiza cada poco tiempo. Consulta nuestra ¡SEGUIR LEYENDO!

26 Nuevos Cursos GRATIS de Udemy: Python, Javascript, Flutter (cupón finalizado)

26 Nuevos cursos con cupones free de Udemy: En español (typescript,javascript, react, vue y videojuegos) e ingles (Python, Django, Javascript, R, SQL, Flutter, Java, Qt, Bootstrap, Illustrator y Photoshop). Cursos en Español ? Curso Gratis de Udemy: Aprende JavaScript y Jquery de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Typescript de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Vue + ¡SEGUIR LEYENDO!

40 Cursos Gratis de Udemy: Desarrollo Web, Python (cupón finalizado)

Recién llega la primavera y vamos con una publicación más, que incluye los cursos del Lunes; hoy tenemos, 9 cursos en español (Typescript, Javascript, React, Vue, Firebase, Swift, Azure, HTML y CSS, Power Bi). Más 31 cursos en inglés: Javascript, Typescript, React, Python, R, Java, Drupal, Android y Kotlin, Básicos de Visual Studio Code, Bootstrap, Gitlab, Maya 3D, Photoshop, Marketing en Facebook e Instagram, SEO. Iniciación ¡SEGUIR LEYENDO!