@@ -0,0 +1,732 @@
+import ot%0Aimport numpy as np%0Aimport time%0Aimport ot.gpu%0A%0Adef describeRes(r):%0A    print(%22min:%7B:.3E%7D, max::%7B:.3E%7D, mean::%7B:.3E%7D, std::%7B:.3E%7D%22.format(np.min(r),np.max(r),np.mean(r),np.std(r)))%0A%0A%0Afor n in %5B5000, 10000, 15000, 20000%5D:%0A    print(n)%0A    a = np.random.rand(n // 4, 100)%0A    b = np.random.rand(n, 100)%0A    time1 = time.time()%0A    transport = ot.da.OTDA_sinkhorn()%0A    transport.fit(a, b)%0A    G1 = transport.G%0A    time2 = time.time()%0A    transport = ot.gpu.da.OTDA_sinkhorn()%0A    transport.fit(a, b)%0A    G2 = transport.G%0A    time3 = time.time()%0A    print(%22Normal sinkhorn, time: %7B:6.2f%7D sec %22.format(time2 - time1))%0A    describeRes(G1)%0A    print(%22   GPU sinkhorn, time: %7B:6.2f%7D sec %22.format(time3 - time2))%0A    describeRes(G2)

add test gpu