Backend choice reset inside of threads
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 30/100
- Issue 類型
- 缺陷
- 描述清晰度
- 需要釐清
- 活躍度
- 停滯
- 技術堆疊
- python
研究方向
首先,透過報告中所示的 Python threading.Thread 進入點以及 get_active_backend 和 set_backend 呼叫來重現該行為。檢查後端選擇是否記載為 thread-local 或 process-local,並將子執行緒的結果與父執行緒的設定進行比較。當預期行為已被記載,或回報的重設問題已解決並由回歸測試涵蓋時,即視為完成。
由索引模型根據 Issue 內容生成。
描述
Inside a new thread, Arrayfire uses the default backend rather than the backend set by the parent thread:
>>> import arrayfire as af
>>> af.get_available_backends()
('cpu', 'cuda', 'opencl')
>>> af.get_active_backend()
'cuda'
>>> af.set_backend('opencl')
>>> af.get_active_backend()
'opencl'
>>> from threading import Thread
>>> Thread(target=lambda: print(af.get_active_backend())).start()
cuda
Is this expected behavior and/or documented anywhere? I would think that the active backend should be process local rather than thread local.
If it matters, here's my version info:
OS: Ubuntu 20.04
arrayfire: 3.9.0 (commit 955152b6)
arrayfire-python: 3.8.10
cuda: 11.4.0-1
ocl-icd-libopencl1: 2.2.11-1
intel-mkl: 2020.0.166-1
- 主要語言
- Python
- 星號
- 422
- 分支
- 63
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
arrayfire/arrayfire-python 的其他 Issue
-
難度 5/5 一週以上 新手友好度 25/100
arrayfire/arrayfire-python#271 ·
-
難度 5/5 一週以上 新手友好度 25/100
arrayfire/arrayfire-python#270 ·
-
難度 4/5 3-5 天 新手友好度 35/100
arrayfire/arrayfire-python#269 ·
-
難度 4/5 3-5 天 新手友好度 38/100
arrayfire/arrayfire-python#268 · 1 則留言 ·
-
難度 3/5 1-2 天 新手友好度 48/100
arrayfire/arrayfire-python#267 · 1 則留言 · 1 個 reaction ·
查看 arrayfire/arrayfire-python 的全部 Issue
相似的 Issue
-
enhancement
難度 2/5 1-3 小時 新手友好度 70/100
canonical/paas-charm#368 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
-
tech debt
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 1/5 1 小時以內 新手友好度 90/100
StevenBlack/hosts#3256 ·
-
難度 1/5 1 小時以內 新手友好度 90/100
qualcomm/qai-appbuilder#275 ·