Ir para conteúdo
Fórum Script Brasil
  • 0

Biblioteca EIGEN - custo computacional


Chris S

Pergunta

  Fala pessoal,

  Estou intrigado com o custo computacional do meu simulador. Tenho ele em duas linguagens: C++ e Fortran. Em C++ uso o Eclipse e em Fortran o Developer studio. Em Fortran uma simulação com 10000 pontos no tempo e 100 no espaço demora cerca de 10s. Em C++ demora cerca de 30s, quando não uso a biblioteca Eigen, e 3min quando a uso, mediante

#include <Eigen/Dense>

using namespace Eigen;

  Preciso dela para o cálculo de autovalores e autovetores.

  Não sei o que pode estar ocorrendo mas verifiquei alguns pontos importantes:

1) O arquivo .exe passa de menos de 1MB para 16MB quando incluo tal biblioteca, e a compilação passa de milissegundos para 12s.

2) Não consigo build and run com Release, somente Debug. Com Release dá erro.

3) Já rodei o executável fora do ambiente eclipse e fica sensivelmente mais rápido, no entanto, longe da rapidez do .exe gerado pelo Fortran.

4) Todo o meu código possui alocação dinâmica de vetores e matrizes. Só não sei se na biblioteca Eigen também é assim.

5) Salvei a pasta Eigen dentro de C:/MinGW/include.

  Ficarei grato por sugestões ! =)

  Forte abraço, 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Só para efeito de complementação. Pude notar num código básico feito agora, que a linha em que declaro a matriz B já causa a criação de um objeto de 14MB com arquivo .exe de 12MB. Por que? (segue código abaixo)

#include <stdlib.h>

#include <iostream>

using namespace std;

#include <Eigen/Dense>

//#include <Eigen/Eigenvalues>

//#include "Eigen/Eigenvalues"

using namespace Eigen;

 

main () {

MatrixXd A(3,3);

 

A(0,0)=1;

A(0,1)=2;

A(0,2)=3;

A(1,0)=4;

A(1,1)=5;

A(1,2)=6;

A(2,0)=7;

A(2,1)=8;

A(2,2)=9;

EigenSolver<MatrixXd> ROE(FullRoeB);

system("pause");

}

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...