- Notifications
You must be signed in to change notification settings - Fork64
Open
Description
Inside a new thread, Arrayfire uses the default backend rather than the backend set by the parent thread:
>>>importarrayfireasaf>>>af.get_available_backends()('cpu','cuda','opencl')>>>af.get_active_backend()'cuda'>>>af.set_backend('opencl')>>>af.get_active_backend()'opencl'>>>fromthreadingimportThread>>>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 (commit955152b6)
arrayfire-python: 3.8.10
cuda: 11.4.0-1
ocl-icd-libopencl1: 2.2.11-1
intel-mkl: 2020.0.166-1
Metadata
Metadata
Assignees
Labels
No labels