Python Brasil 2025

CPython, Python e sua aplicação de alto desempenho
25/10/2025 , Intermediária

A linguagem de programação C/C++ permite usar diversas ferramentas de processamento paralelo para aplicações de alto desempenho (OpenMP, CUDA). Como usar CPython para aplicar estes recursos em Python.


Aplicações de alto desempenho são geralmente implementadas em C/C++ permitindo utilizar recursos para memória compartilhada ou memória distribuída, como OpenMP e MPI, ou programação para GPGPUSs (GPUs de propósito geral) utilizando CUDA ou OpenCL. Muitos pacotes em Python fornecem acesso a estes recursos de forma rápida e eficiente. Mas como criar nossas próprias bibliotecas de funções C/C++ de forma a podermos utilizar estes recursos em Python? Nesta palestra apresentaremos, de forma resumida e com base em exemplos, como criar bibliotecas de funções simples e como utilizar CPython para acessar estes recursos. Exemplos baseados na implementação do problema de multiplicação de matrizes serão apresentados para mostrar estes recursos e testes de desempenho rápidos serão utilizados para comparar o desempenho com os recursos disponibilizados na biblioteca NumPy.


Quais conhecimentos prévios são necessários para que seja possível acompanhar bem a sua atividade?

Desenvolvimento em Python usando NumPy. Como tratar matrizes e vetores, o uso de operadores NumPy para evitar o uso de laços for.
Programação básica em C/C++: Reutilização de código com biblioteca de funções.
Como avaliar o desempenho de aplicações: timeit em Python

O que as pessoas que participarem podem esperar aprender na sua atividade?

Como aprimorar a implementação de algoritmos complexos em C/C++ e explorar estes recursos em python de forma a facilitar o desenvolvimento de aplicações de alto desempenho na resolução de problemas de grande porte

Escolha uma ou mais áreas em que essa proposta se encaixa

Ciência e Análise de Dados, Computação Científica

Doutorado em Modelagem Computacional - Laboratório Nacional de Computação Científica (2008). Atualmente é professor titular da Universidade Estadual de Santa Cruz.