Be careful with Intel turbo boost! It can screw your benchmarking! And run slower when dealing with parallel programs!

I wrote several months ago a little application called machPQ.py (I’ll open the code soon…) which calculates the active, reactive and also the apparent power in machine terminal’s over the time domain, for electromagnetic transients analysis. The files that this program have to crunch often have 1.E6 lines or more. Due to those large files this application was taking long time to finish it’s calculations 1h-3h, hence I started to transcript it into a parallel paradigm using python as well. The problem begins when I tried to benchmark the parallel version and compare with the single threaded one. The single […]

openSUSE Science e mpmath

Para ficar registrado! Essa semana, quando estava implementado o cálculo dos parâmetros tranversais e longitudinais de linhas de transmissão para a disciplina Sobretensões Transitórias, precisei de uma biblioteca para usar com python que tivesse já disponíveis as funções de Bessel para números complexos. Achei a biblioteca numérica de precisão arbitrária mpmath [1] [2], inclusive listei no Python Numeric Cook List, a qual continha as funções necessárias, mas infelizmente não estava disponível nos repositórios oficiais do openSUSE. Depois de uma pesquisada encontrei o repositório extra-oficial openSUSE Science voltado para pacotes científicos. Página do OBS. Então, para adicionar o repositório, como root: […]

parallelATP – Meu mais novo brinquedo!

O parallelATP é uma aplicação que tem como objetivo acelerar estudos massivos de transitórios eletromagnéticos realizados com o software ATP, por meio de paralelização trivial de cada um dos casos a serem processados. O parallelATP é desenvolvido em linguagem python. Exemplo: Estudo de arco secundário no domínio do tempo para múltiplas frequências Considerando-se que os computadores modernos possuem, em sua grande maioria, mais de um núcleo de processamento, ser capaz de executar tarefas com paralelismo real implica em ganho direto de performance e tempo. Com o parallelATP é possível tirar proveito também do poder de processamento das placas de vídeo […]

Python Numeric Cook List

Esse semestre estou cursando, como de praxe desde que graduei, mais uma disciplina da pós-graduação como aluno especial. Para ser mais exato, a matéria é Estabilidade em Sistemas de Potência. E, como sempre, nessas matérias há diversas simulações a serem feitas. Na engenharia, não tem jeito, o matlab é o rei dos pacotes numéricos. E para isso há diversos bons motivos: é fácil de utilizar, a documentação é ótima, há toneladas de algoritmos prontos para usar, as diversas toolboxes específicas, etc. Mas, eu tenho dois bons motivos para não gostar dele: não é código aberto e é lerdo. Então, neste […]