conflict with matplotlib.pyplot

Abierto
#208 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
matplotlib, python
Área
backend, hpc

Línea de trabajo

Reproduce el ejemplo proporcionado de Python 3.6 con matplotlib.pyplot, ArrayFire, la operación aritmética y data.join. Inspecciona arrayfire/data.py en join, arrayfire/util.py en safe_call y la ruta indicada src/backend/cuda/jit.cpp para determinar por qué el orden de importación cambia el fallo de JIT; se considera terminado cuando el reproductor ya no produce errores sin requerir una solución basada en el orden de importación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.
Lenguaje dominante
Python
Estrellas
422
Forks
63
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de arrayfire/arrayfire-python

Todos los issues de arrayfire/arrayfire-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.