Odm: Remover sinalizadores -msse2 -msse3 -msse4 -mpopcnt das compilações do docker

Criado em 9 ago. 2018  ·  4Comentários  ·  Fonte: OpenDroneMap/ODM

Atualmente, isso está forçando a inclusão de instruções SSE4 no mvs-texturing (e aplicativos mve relacionados): https://github.com/OpenDroneMap/WebODM/issues/330#issuecomment -411550656

Uma solução simples seria filtrá-los em https://github.com/OpenDroneMap/OpenDroneMap/blob/master/docker/g%2B%2B e https://github.com/OpenDroneMap/OpenDroneMap/blob/master/ docker / gcc

No entanto, as pessoas reconstruindo imagens do docker usando o Dockerfile padrão e CPUs mais antigas ainda teriam o problema.

Vou ver se podemos consertá-lo diretamente no MVE.

bug

Comentários muito úteis

Ei pessoal!

Eu só queria adicionar um comentário para as pessoas que ainda podem ter o problema ao executar o WebODM com docker no futuro. O documento diz que você não pode executar as imagens do docker se tiver um processador que não ofereça suporte às instruções SSE *. Isso não é verdade.

Com a alteração feita no MVE, o sinalizador "march = native" adiciona todos os sinalizadores de otimização aplicáveis ​​ao hardware onde o código é compilado. Portanto, o problema é que, quando a imagem do docker é criada, os sinalizadores SSE * que seu hardware pode não suportar são realmente adicionados, porque ele foi construído em um local onde era compatível. Portanto, em vez de construir os diferentes repositórios nativamente, você pode apenas reconstruir a imagem em seu próprio hardware e isso resolverá o problema.

Achei isso mais fácil do que instalar tudo nativamente.

É isso: sorria:

Todos 4 comentários

O MVE agora é fornecido com o sinalizador -march = native, portanto, pode ser fechado. https://github.com/simonfuhrmann/mve/pull/441#event -1779240350

Ei pessoal!

Eu só queria adicionar um comentário para as pessoas que ainda podem ter o problema ao executar o WebODM com docker no futuro. O documento diz que você não pode executar as imagens do docker se tiver um processador que não ofereça suporte às instruções SSE *. Isso não é verdade.

Com a alteração feita no MVE, o sinalizador "march = native" adiciona todos os sinalizadores de otimização aplicáveis ​​ao hardware onde o código é compilado. Portanto, o problema é que, quando a imagem do docker é criada, os sinalizadores SSE * que seu hardware pode não suportar são realmente adicionados, porque ele foi construído em um local onde era compatível. Portanto, em vez de construir os diferentes repositórios nativamente, você pode apenas reconstruir a imagem em seu próprio hardware e isso resolverá o problema.

Achei isso mais fácil do que instalar tudo nativamente.

É isso: sorria:

Olá @nchamo , estou tendo esse problema com minha CPU AMD Phenom II X6 1090T. Acho que sua recomendação de reconstruir a imagem funcionaria para mim, mas não tenho certeza de como fazer isso? No momento, acabei de clonar o projeto e executar o arquivo startup.sh. Como faço para reconstruir? obrigado

Podemos mover essa conversa para o fórum em https://community.opendronemap.org? : pray: O fórum é o lugar certo para fazer perguntas (tentamos manter o rastreador de problemas do GitHub apenas para solicitações de recursos e bugs). Obrigado! : +1:

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

nyinyinyanlin picture nyinyinyanlin  ·  3Comentários

katarias picture katarias  ·  3Comentários

brookjason picture brookjason  ·  4Comentários

thomas-bamford picture thomas-bamford  ·  3Comentários

pierotofy picture pierotofy  ·  6Comentários