Open hexane360 opened 3 years ago
@hexane360 set_device, set_backend these are all per thread states, they are not inherited automatically. So I would say, it is not reset, but rather it is left to default value in another thread, hence you are not seeing the values you are setting on main thread.
@umar456 @syurkevi Can you please redirect me to the location in our docs regarding threads in ArrayFire if we have it - I can't recollect it unfortunately.
Inside a new thread, Arrayfire uses the default backend rather than the backend set by the parent thread:
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