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
-
bug
难度 2/5 1-3 小时 新手友好度 90/100
learningequality/ricecooker#747 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 76/100
run-llama/llama_index#23199 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
KhronosGroup/glTF-Blender-IO#2769 ·