arrayfire / arrayfire/arrayfire-python

conflict with matplotlib.pyplot

Đang mở
#208 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
422
Fork
63
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
matplotlib, python
Lĩnh vực
backend, hpc
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.