-
Notifications
You must be signed in to change notification settings - Fork 64
Open
@hexane360
Description
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: 20200166-1
Metadata
Metadata
Assignees
Labels
No labels