conflict with matplotlib.pyplot

Aberta
#208 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
matplotlib, python
Domínio
backend, hpc

Direção de pesquisa

Reproduza o exemplo fornecido em Python 3.6 com matplotlib.pyplot, ArrayFire, a operação aritmética e data.join. Inspecione arrayfire/data.py em join, arrayfire/util.py em safe_call e o caminho reportado src/backend/cuda/jit.cpp para determinar por que a ordem dos imports altera a falha do JIT; considera-se concluído quando o reprodutor não apresentar mais erros sem exigir uma solução alternativa baseada na ordem dos imports.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

These codes will trigger an error in just in time compiler

import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
import arrayfire as af

a = af.data.range( 640, 1280, dim=0 )
b = af.data.range( 640, 1280, dim=0 ) - 1

af.data.join(0,a,b,)

and the error output is

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    af.data.join(0,a,b,)
  File "/home/herbert/anaconda3/lib/python3.6/site-packages/arrayfire/data.py", line 320, in join
    safe_call(backend.get().af_join(c_pointer(out.arr), dim, first.arr, second.arr))
  File "/home/herbert/anaconda3/lib/python3.6/site-packages/arrayfire/util.py", line 79, in safe_call
    raise RuntimeError(to_str(err_str))
RuntimeError: In function std::vector<char> cuda::compileToPTX(const char*, std::string)
In file src/backend/cuda/jit.cpp:

However, without any major change, the following two will not,

# change the import order between pyplot and arrayfire

import matplotlib; matplotlib.use('Agg')
import arrayfire as af
import matplotlib.pyplot as plt

a = af.data.range( 640, 1280, dim=0 )
b = af.data.range( 640, 1280, dim=0 ) - 1

af.data.join(0,a,b,)

or

# do not perform the arithmetic operation on one of the array  

import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
import arrayfire as af

a = af.data.range( 640, 1280, dim=0 )
b = af.data.range( 640, 1280, dim=0 )

af.data.join(0,a,b,)

Here is my python environment obtained by running python in a terminal.

Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
Linguagem predominante
Python
Estrelas
422
Forks
63
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de arrayfire/arrayfire-python

Todas as issues de arrayfire/arrayfire-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.