arrayfire / arrayfire/arrayfire-python
conflict with matplotlib.pyplot
- 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