Inference In Parallel With 3 Different Tensorflow Sessions

Is it possible to do inference with 3 different Tensorflow sessions in parallel? I currently have it implemented using multi-threading (displayed below), but it’s still the same duration as if all being run sequentially. I thought that Tensorflow sessions release the Python GIL when first called. Is that not the case for different sessions?

I’m using Windows 10, Python 3.7.4, Tensorflow-GPU 1.14.0, and CUDA 10.0.

(CODE BELOW) ------------------------------------

workers = [lambda input, y_op, x_inp, sess: sess.run(y_op, {x_inp: input}) for sess in sessions]

for model_idx in range(len(model_names)):
    -> sess = sessions[model_idx]
    -> t = threading.Thread(target=workers[model_idx], args=(input,y_op,x_inp,sess))                                             
    -> thread_list.append(t)
    -> t.start()
    
for t in thread_list:
    -> t.join()

As far as I know, this is not possible. Kernels from separate sessions will still be serialized.