X86: Frequência ou arquitetura ou outro fator importante para calcular loops python / numpy rápidos e massivos?

0

Precisamos calcular scripts numpy / python que são executados por dias porque eles usam um grande número de loops para computar pequenos arrays flutuantes Numpy / Python (matriz de alguns Mo). As operações são sobre linhas tomadas uma a uma, depois linhas por linhas, etc.

Fiquei surpreso ao descobrir que um AMD APU A10-5700 @ 3.4 é mais rápido (cerca de 25%) do que um Xeon X5650 @ 2.7 ghz para computar esse tipo de script. A velocidade é proporcional à taxa de freqüências da CPU.

Que tipo de propriedades de cpu são importantes para computar esse tipo de script? Eu tenho que favorecer apenas CPU com alta frequência para esse tipo de tarefa? Obrigado pela resposta recebida.

edit: operação sobre matrizes ainda são paralelizados usando pp mas não GPGPU (como opencl). Então, minha pergunta se aplica a um único thread por unidade de CPU.

    
por sol 23.10.2014 / 11:21

2 respostas

0

A menos que você esteja usando uma abordagem multi-thread para seu script python, qualquer processador com clock mais rápido e desempenho com encadeamento único acabará se saindo muito melhor do que uma CPU projetada em torno de aplicativos usando vários encadeamentos com desempenho de encadeamento único mais lento. p>

A melhor maneira de provavelmente obter um melhor desempenho é reescrever o script python para aproveitar vários segmentos, se possível (atente para a simultaneidade). Caso contrário, procure por CPUs que tenham um desempenho de thread único muito alto

    
por 23.10.2014 / 11:54
0

É mais como o script é escrito - se não for de forma alguma paralelo, então ter muitos núcleos não vai ajudar, e você está simplesmente enviando as mesmas instruções diferentes velocidades de clock. Se você pudesse encontrar uma maneira de dividir a carga entre os processadores lógicos, mais a arquitetura do processador multi-core teria melhores chances.

    
por 23.10.2014 / 11:55

Tags