added this to the
3.4.0 milestone
* Timeit now computes the median time from a select number of trial runs that are synced after each iteration * The median time is then used to compute how many batches of the functions to run based on some minimum time * It now runs batch of trial runs and then averages the times from each batch
* Synchronize the ArrayFire stream when cusolver getHandle is done * The stream form of cusolver require using cudaDeviceSynchronize and cudaStreamSynchronize all over the place * Even then, getrs in solve_lu failed on any stream other than 0 * patch available at: https://gist.github.com/shehzan10/414c3d04a40e7c4a03ed3c2e1b9072e7