arrayfire / arrayfire/arrayfire-python

conflict with matplotlib.pyplot

Abierto
#208 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
422
Forks
63
Métricas de merge de PR
Sin PR fusionados en 30 d

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
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 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.
```

Guía de contribución

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

Línea de trabajo

Reproduce the provided Python 3.6 example with matplotlib.pyplot, ArrayFire, the arithmetic operation, and data.join. Inspect arrayfire/data.py at join, arrayfire/util.py at safe_call, and the reported src/backend/cuda/jit.cpp path to determine why import order changes the JIT failure; done means the reproducer no longer errors without requiring an import-order workaround.

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

Evaluación

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.