├── .gitignore ├── imgs ├── vary_C.png ├── vary_N.png └── vary_S.png ├── README.md ├── benchmark_multinomial.py └── multinomial_stats.json /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | .ipynb_checkpoints/ 3 | -------------------------------------------------------------------------------- /imgs/vary_C.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcjohnson/pytorch-multinomial-benchmark/HEAD/imgs/vary_C.png -------------------------------------------------------------------------------- /imgs/vary_N.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcjohnson/pytorch-multinomial-benchmark/HEAD/imgs/vary_N.png -------------------------------------------------------------------------------- /imgs/vary_S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcjohnson/pytorch-multinomial-benchmark/HEAD/imgs/vary_S.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Simple benchmarking script for torch.multinomial with varying batch size, number of categories, and number of samples. 2 | 3 | -------------------------------------------------------------------------------- /benchmark_multinomial.py: -------------------------------------------------------------------------------- 1 | import os, argparse, json, random, time 2 | import torch 3 | import numpy as np 4 | 5 | 6 | def int_list(s): 7 | return [int(x) for x in s.split(',')] 8 | 9 | 10 | parser = argparse.ArgumentParser() 11 | parser.add_argument('--N', type=int_list, 12 | default=[1, 2, 4, 8, 16, 32, 64, 128]) 13 | parser.add_argument('--C', type=int_list, 14 | default=[10, 100, 1000, 10000, 100000]) 15 | parser.add_argument('--S', type=int_list, 16 | default=[10, 100, 1000, 10000, 100000]) 17 | parser.add_argument('--with_replacement', type=int, default=1) 18 | parser.add_argument('--num_trials', type=int, default=5) 19 | parser.add_argument('--stats_json', default='multinomial_stats.json') 20 | 21 | 22 | 23 | def main(args): 24 | replacement = args.with_replacement == 1 25 | all_results = [] 26 | for n, N in enumerate(args.N): 27 | print('Running N = %d (value %d / %d)' % (N, n + 1, len(args.N))) 28 | for c, C in enumerate(args.C): 29 | print(' Running C = %d (value %d / %d)' % (C, c + 1, len(args.C))) 30 | for s, S in enumerate(args.S): 31 | print(' Running S = %d (value %d / %d)' % (S, s + 1, len(args.S))) 32 | cur_results = { 33 | 'N': N, 'C': C, 'S': S, 34 | 'torch_cpu': [], 'torch_gpu': [], 'numpy_cpu': [], 'numpy_gpu': [] 35 | } 36 | for t in range(args.num_trials): 37 | times = run_trial(N, C, S, replacement) 38 | for key, time_ms in times.items(): 39 | cur_results[key].append(time_ms) 40 | all_results.append(cur_results) 41 | 42 | with open(args.stats_json, 'w') as f: 43 | json.dump(all_results, f) 44 | 45 | 46 | def timeit(f, *args, **kwargs): 47 | torch.cuda.synchronize() 48 | t0 = time.time() 49 | out = f(*args, **kwargs) 50 | torch.cuda.synchronize() 51 | t1 = time.time() 52 | time_ms = (t1 - t0) * 1000.0 53 | return time_ms 54 | 55 | 56 | def numpy_multinomial(probs, num_samples, replacement=True): 57 | N, C, S = probs.shape[0], probs.shape[1], num_samples 58 | probs_np = probs.cpu().numpy() 59 | samples = [] 60 | for i in range(N): 61 | cur_probs = probs_np[i] 62 | cur_samples = np.random.choice(C, size=S, replace=replacement, p=cur_probs) 63 | samples.append(cur_samples[None]) 64 | samples = np.concatenate(samples, axis=0) 65 | samples = torch.tensor(samples).long().to(probs.device) 66 | return samples 67 | 68 | 69 | def run_trial(N, C, S, replacement=True): 70 | probs_cpu = torch.rand(N, C).softmax(dim=1) 71 | probs_gpu = probs_cpu.cuda() 72 | 73 | # We want to test torch and numpy on both cpu and gpu; randomize the order 74 | # in which we call them to minimize any systematic effects of caching, etc 75 | kwargs = {'replacement': replacement} 76 | calls = [ 77 | ['torch_cpu', torch.multinomial, (probs_cpu, S), kwargs], 78 | ['torch_gpu', torch.multinomial, (probs_gpu, S), kwargs], 79 | ['numpy_cpu', numpy_multinomial, (probs_cpu, S), kwargs], 80 | ['numpy_gpu', numpy_multinomial, (probs_gpu, S), kwargs], 81 | ] 82 | random.shuffle(calls) 83 | 84 | results = {} 85 | for key, f, args, kwargs in calls: 86 | results[key] = timeit(f, *args, **kwargs) 87 | return results 88 | 89 | 90 | if __name__ == '__main__': 91 | args = parser.parse_args() 92 | main(args) 93 | 94 | -------------------------------------------------------------------------------- /multinomial_stats.json: -------------------------------------------------------------------------------- 1 | [{"N": 1, "C": 10, "S": 10, "torch_cpu": [0.07200241088867188, 0.014543533325195312, 0.014066696166992188, 0.013589859008789062, 0.012874603271484375], "torch_gpu": [0.8263587951660156, 0.05745887756347656, 0.06079673767089844, 0.060558319091796875, 0.060558319091796875], "numpy_cpu": [0.6318092346191406, 0.10824203491210938, 0.09655952453613281, 0.091552734375, 0.09107589721679688], "numpy_gpu": [0.23174285888671875, 0.15163421630859375, 0.15044212341308594, 0.1461505889892578, 0.14734268188476562]}, {"N": 1, "C": 10, "S": 100, "torch_cpu": [0.025987625122070312, 0.022649765014648438, 0.022411346435546875, 0.021457672119140625, 0.0209808349609375], "torch_gpu": [0.10275840759277344, 0.09751319885253906, 0.09679794311523438, 0.09846687316894531, 0.0934600830078125], "numpy_cpu": [0.12993812561035156, 0.10466575622558594, 0.10323524475097656, 0.09417533874511719, 0.09584426879882812], "numpy_gpu": [0.16355514526367188, 0.15854835510253906, 0.1659393310546875, 0.15282630920410156, 0.1556873321533203]}, {"N": 1, "C": 10, "S": 1000, "torch_cpu": [0.10561943054199219, 0.10132789611816406, 0.10418891906738281, 0.10323524475097656, 0.10418891906738281], "torch_gpu": [0.5314350128173828, 0.5130767822265625, 0.4985332489013672, 0.5071163177490234, 0.5042552947998047], "numpy_cpu": [0.1308917999267578, 0.1373291015625, 0.1308917999267578, 0.1347064971923828, 0.13065338134765625], "numpy_gpu": [0.2040863037109375, 0.18715858459472656, 0.18334388732910156, 0.19240379333496094, 0.1914501190185547]}, {"N": 1, "C": 10, "S": 10000, "torch_cpu": [0.9076595306396484, 0.8971691131591797, 0.8747577667236328, 0.8957386016845703, 0.8997917175292969], "torch_gpu": [4.549264907836914, 4.535913467407227, 4.537343978881836, 4.523515701293945, 4.559993743896484], "numpy_cpu": [0.39076805114746094, 0.38170814514160156, 0.37360191345214844, 0.3809928894042969, 0.37360191345214844], "numpy_gpu": [0.5018711090087891, 0.4603862762451172, 0.4420280456542969, 0.4477500915527344, 0.4436969757080078]}, {"N": 1, "C": 10, "S": 100000, "torch_cpu": [8.921384811401367, 8.797645568847656, 8.626699447631836, 8.57090950012207, 8.873939514160156], "torch_gpu": [45.12500762939453, 45.014142990112305, 40.8473014831543, 40.86041450500488, 40.94195365905762], "numpy_cpu": [2.743959426879883, 2.748250961303711, 2.7561187744140625, 3.208160400390625, 2.773761749267578], "numpy_gpu": [2.937793731689453, 2.9511451721191406, 2.9473304748535156, 2.921581268310547, 2.9740333557128906]}, {"N": 1, "C": 100, "S": 10, "torch_cpu": [0.03600120544433594, 0.019073486328125, 0.015974044799804688, 0.017404556274414062, 0.016689300537109375], "torch_gpu": [0.06532669067382812, 0.06580352783203125, 0.06413459777832031, 0.05745887756347656, 0.060558319091796875], "numpy_cpu": [0.125885009765625, 0.1068115234375, 0.09179115295410156, 0.09989738464355469, 0.09465217590332031], "numpy_gpu": [0.1647472381591797, 0.16021728515625, 0.1513957977294922, 0.14710426330566406, 0.1468658447265625]}, {"N": 1, "C": 100, "S": 100, "torch_cpu": [0.03361701965332031, 0.030517578125, 0.029325485229492188, 0.028848648071289062, 0.029802322387695312], "torch_gpu": [0.10371208190917969, 0.10371208190917969, 0.10275840759277344, 0.10585784912109375, 0.10991096496582031], "numpy_cpu": [0.11110305786132812, 0.10013580322265625, 0.09942054748535156, 0.0972747802734375, 0.10275840759277344], "numpy_gpu": [0.171661376953125, 0.148773193359375, 0.1506805419921875, 0.15592575073242188, 0.15115737915039062]}, {"N": 1, "C": 100, "S": 1000, "torch_cpu": [0.17952919006347656, 0.156402587890625, 0.15544891357421875, 0.1544952392578125, 0.15306472778320312], "torch_gpu": [0.5335807800292969, 0.5257129669189453, 0.5285739898681641, 0.5321502685546875, 0.5350112915039062], "numpy_cpu": [0.17333030700683594, 0.1506805419921875, 0.15234947204589844, 0.15735626220703125, 0.1556873321533203], "numpy_gpu": [0.22411346435546875, 0.21219253540039062, 0.20694732666015625, 0.2148151397705078, 0.2117156982421875]}, {"N": 1, "C": 100, "S": 10000, "torch_cpu": [1.4798641204833984, 1.3852119445800781, 1.4240741729736328, 1.3778209686279297, 1.428365707397461], "torch_gpu": [4.814624786376953, 4.807949066162109, 4.794597625732422, 4.804849624633789, 4.802703857421875], "numpy_cpu": [0.5755424499511719, 0.5705356597900391, 0.5762577056884766, 0.5838871002197266, 0.5698204040527344], "numpy_gpu": [0.7097721099853516, 0.6420612335205078, 0.6499290466308594, 0.6477832794189453, 0.6494522094726562]}, {"N": 1, "C": 100, "S": 100000, "torch_cpu": [14.068126678466797, 13.624191284179688, 16.559123992919922, 13.650655746459961, 13.714313507080078], "torch_gpu": [47.50347137451172, 46.73051834106445, 46.7374324798584, 46.67830467224121, 46.7832088470459], "numpy_cpu": [4.698991775512695, 4.702329635620117, 4.868984222412109, 4.713296890258789, 4.701375961303711], "numpy_gpu": [4.907846450805664, 4.908323287963867, 4.89354133605957, 4.913568496704102, 4.898786544799805]}, {"N": 1, "C": 1000, "S": 10, "torch_cpu": [0.05340576171875, 0.049591064453125, 0.04696846008300781, 0.04792213439941406, 0.048160552978515625], "torch_gpu": [0.12254714965820312, 0.11372566223144531, 0.11014938354492188, 0.10776519775390625, 0.11420249938964844], "numpy_cpu": [0.13780593872070312, 0.11420249938964844, 0.11730194091796875, 0.11515617370605469, 0.10466575622558594], "numpy_gpu": [0.1819133758544922, 0.16832351684570312, 0.16570091247558594, 0.16355514526367188, 0.16355514526367188]}, {"N": 1, "C": 1000, "S": 100, "torch_cpu": [0.07200241088867188, 0.06556510925292969, 0.06699562072753906, 0.06723403930664062, 0.06365776062011719], "torch_gpu": [0.16880035400390625, 0.1633167266845703, 0.1671314239501953, 0.15997886657714844, 0.17333030700683594], "numpy_cpu": [0.1285076141357422, 0.11587142944335938, 0.11372566223144531, 0.12230873107910156, 0.12278556823730469], "numpy_gpu": [0.18668174743652344, 0.17070770263671875, 0.17571449279785156, 0.1728534698486328, 0.17499923706054688]}, {"N": 1, "C": 1000, "S": 1000, "torch_cpu": [0.2620220184326172, 0.2429485321044922, 0.2410411834716797, 0.2415180206298828, 0.24890899658203125], "torch_gpu": [0.7042884826660156, 0.6940364837646484, 0.6988048553466797, 0.7009506225585938, 0.6971359252929688], "numpy_cpu": [0.194549560546875, 0.18143653869628906, 0.1881122589111328, 0.18358230590820312, 0.18286705017089844], "numpy_gpu": [0.25844573974609375, 0.24819374084472656, 0.25081634521484375, 0.24652481079101562, 0.2467632293701172]}, {"N": 1, "C": 1000, "S": 10000, "torch_cpu": [2.142190933227539, 2.057313919067383, 2.012014389038086, 2.0008087158203125, 2.012491226196289], "torch_gpu": [6.04557991027832, 6.043434143066406, 6.042242050170898, 6.043195724487305, 6.047487258911133], "numpy_cpu": [0.8771419525146484, 0.7843971252441406, 0.7827281951904297, 0.7941722869873047, 0.8459091186523438], "numpy_gpu": [0.9000301361083984, 0.8623600006103516, 0.8573532104492188, 0.8630752563476562, 0.8590221405029297]}, {"N": 1, "C": 1000, "S": 100000, "torch_cpu": [19.522428512573242, 20.106792449951172, 19.63639259338379, 19.58751678466797, 19.671201705932617], "torch_gpu": [59.40580368041992, 59.40413475036621, 59.43155288696289, 59.39483642578125, 59.42201614379883], "numpy_cpu": [6.727933883666992, 6.712675094604492, 6.727933883666992, 6.725549697875977, 6.713628768920898], "numpy_gpu": [6.923198699951172, 6.972789764404297, 6.947994232177734, 6.927490234375, 6.923198699951172]}, {"N": 1, "C": 10000, "S": 10, "torch_cpu": [0.4496574401855469, 0.4677772521972656, 0.4665851593017578, 0.4818439483642578, 0.4630088806152344], "torch_gpu": [0.6237030029296875, 0.6031990051269531, 0.6008148193359375, 0.6010532379150391, 0.6039142608642578], "numpy_cpu": [0.2758502960205078, 0.2357959747314453, 0.24628639221191406, 0.25391578674316406, 0.24199485778808594], "numpy_gpu": [0.3292560577392578, 0.34356117248535156, 0.32782554626464844, 0.3352165222167969, 0.3325939178466797]}, {"N": 1, "C": 10000, "S": 100, "torch_cpu": [0.5078315734863281, 0.48613548278808594, 0.4985332489013672, 0.5092620849609375, 0.4875659942626953], "torch_gpu": [0.6768703460693359, 0.6756782531738281, 0.6687641143798828, 0.6754398345947266, 0.6692409515380859], "numpy_cpu": [0.2739429473876953, 0.25582313537597656, 0.2694129943847656, 0.2548694610595703, 0.2684593200683594], "numpy_gpu": [0.3616809844970703, 0.34308433532714844, 0.34236907958984375, 0.36644935607910156, 0.34308433532714844]}, {"N": 1, "C": 10000, "S": 1000, "torch_cpu": [0.8127689361572266, 0.8006095886230469, 0.8108615875244141, 0.8020401000976562, 0.7965564727783203], "torch_gpu": [1.3916492462158203, 1.3957023620605469, 1.3933181762695312, 1.3949871063232422, 1.3875961303710938], "numpy_cpu": [0.36525726318359375, 0.37360191345214844, 0.3898143768310547, 0.3857612609863281, 0.3643035888671875], "numpy_gpu": [0.4773139953613281, 0.46515464782714844, 0.46324729919433594, 0.4734992980957031, 0.47278404235839844]}, {"N": 1, "C": 10000, "S": 10000, "torch_cpu": [3.945589065551758, 3.9217472076416016, 6.310224533081055, 6.311178207397461, 6.315708160400391], "torch_gpu": [8.604764938354492, 8.601188659667969, 8.605241775512695, 8.631467819213867, 8.612871170043945], "numpy_cpu": [1.5099048614501953, 1.4500617980957031, 1.8463134765625, 1.8892288208007812, 1.8227100372314453], "numpy_gpu": [1.5683174133300781, 1.6031265258789062, 1.9755363464355469, 1.9717216491699219, 1.9686222076416016]}, {"N": 1, "C": 10000, "S": 100000, "torch_cpu": [55.4041862487793, 57.332754135131836, 55.59253692626953, 55.52840232849121, 55.59492111206055], "torch_gpu": [80.67512512207031, 80.6572437286377, 80.6424617767334, 80.61003684997559, 80.66225051879883], "numpy_cpu": [15.617609024047852, 15.711069107055664, 12.218236923217773, 13.918161392211914, 15.685081481933594], "numpy_gpu": [15.857458114624023, 15.900373458862305, 12.4359130859375, 12.474536895751953, 15.934944152832031]}, {"N": 1, "C": 100000, "S": 10, "torch_cpu": [8.466720581054688, 4.174709320068359, 4.433155059814453, 4.268407821655273, 4.289150238037109], "torch_gpu": [5.838632583618164, 5.422115325927734, 5.407094955444336, 5.412101745605469, 5.4111480712890625], "numpy_cpu": [1.2726783752441406, 1.2793540954589844, 1.1949539184570312, 1.1904239654541016, 1.216888427734375], "numpy_gpu": [1.5697479248046875, 1.4014244079589844, 1.3952255249023438, 1.3899803161621094, 1.4476776123046875]}, {"N": 1, "C": 100000, "S": 100, "torch_cpu": [4.5299530029296875, 8.492231369018555, 8.499383926391602, 8.457422256469727, 8.481979370117188], "torch_gpu": [5.4912567138671875, 5.507469177246094, 5.5103302001953125, 5.509853363037109, 5.512714385986328], "numpy_cpu": [1.2905597686767578, 1.3208389282226562, 1.3551712036132812, 1.3113021850585938, 1.299142837524414], "numpy_gpu": [1.4312267303466797, 1.5938282012939453, 1.5442371368408203, 1.5177726745605469, 1.5175342559814453]}, {"N": 1, "C": 100000, "S": 1000, "torch_cpu": [9.102344512939453, 4.873991012573242, 4.955053329467773, 4.697561264038086, 9.215831756591797], "torch_gpu": [6.416559219360352, 6.398200988769531, 6.393909454345703, 6.400823593139648, 6.401777267456055], "numpy_cpu": [1.5490055084228516, 1.6181468963623047, 1.4393329620361328, 1.4371871948242188, 1.56402587890625], "numpy_gpu": [1.8372535705566406, 1.646280288696289, 1.630544662475586, 1.6291141510009766, 1.7702579498291016]}, {"N": 1, "C": 100000, "S": 10000, "torch_cpu": [15.505075454711914, 15.49673080444336, 13.015031814575195, 8.800029754638672, 8.516311645507812], "torch_gpu": [15.44952392578125, 15.45405387878418, 15.445947647094727, 15.435218811035156, 15.436887741088867], "numpy_cpu": [3.927469253540039, 3.9267539978027344, 3.9300918579101562, 3.4208297729492188, 3.423929214477539], "numpy_gpu": [4.162073135375977, 4.158735275268555, 3.6346912384033203, 3.700733184814453, 3.698110580444336]}, {"N": 1, "C": 100000, "S": 100000, "torch_cpu": [59.185028076171875, 47.930240631103516, 56.52117729187012, 48.18320274353027, 48.12788963317871], "torch_gpu": [105.8964729309082, 105.926513671875, 105.8659553527832, 105.86333274841309, 105.88407516479492], "numpy_cpu": [27.860641479492188, 22.698163986206055, 23.276329040527344, 26.101350784301758, 24.00040626525879], "numpy_gpu": [21.63386344909668, 23.648500442504883, 26.662349700927734, 24.428129196166992, 23.616790771484375]}, {"N": 2, "C": 10, "S": 10, "torch_cpu": [0.021696090698242188, 0.015735626220703125, 0.0152587890625, 0.014781951904296875, 0.0152587890625], "torch_gpu": [0.07367134094238281, 0.06556510925292969, 0.064849853515625, 0.06198883056640625, 0.05555152893066406], "numpy_cpu": [0.23126602172851562, 0.13756752014160156, 0.15473365783691406, 0.12612342834472656, 0.141143798828125], "numpy_gpu": [0.21028518676757812, 0.20599365234375, 0.18525123596191406, 0.1857280731201172, 0.18548965454101562]}, {"N": 2, "C": 10, "S": 100, "torch_cpu": [0.03600120544433594, 0.033855438232421875, 0.03266334533691406, 0.030279159545898438, 0.0324249267578125], "torch_gpu": [0.09179115295410156, 0.09059906005859375, 0.09489059448242188, 0.08678436279296875, 0.0934600830078125], "numpy_cpu": [0.16236305236816406, 0.14281272888183594, 0.1361370086669922, 0.14925003051757812, 0.13518333435058594], "numpy_gpu": [0.20694732666015625, 0.1952648162841797, 0.20265579223632812, 0.19431114196777344, 0.19359588623046875]}, {"N": 2, "C": 10, "S": 1000, "torch_cpu": [0.21529197692871094, 0.1881122589111328, 0.19097328186035156, 0.19216537475585938, 0.1914501190185547], "torch_gpu": [0.43463706970214844, 0.4315376281738281, 0.43582916259765625, 0.4363059997558594, 0.4451274871826172], "numpy_cpu": [0.22673606872558594, 0.21409988403320312, 0.21839141845703125, 0.2110004425048828, 0.19788742065429688], "numpy_gpu": [0.2856254577636719, 0.2601146697998047, 0.2562999725341797, 0.26106834411621094, 0.2665519714355469]}, {"N": 2, "C": 10, "S": 10000, "torch_cpu": [1.7905235290527344, 1.7554759979248047, 1.8017292022705078, 1.7900466918945312, 1.7354488372802734], "torch_gpu": [3.8759708404541016, 3.9000511169433594, 3.913402557373047, 3.8542747497558594, 3.8614273071289062], "numpy_cpu": [0.6997585296630859, 0.7038116455078125, 0.6916522979736328, 0.6959438323974609, 0.6937980651855469], "numpy_gpu": [0.8831024169921875, 0.7975101470947266, 0.7855892181396484, 0.7843971252441406, 0.8051395416259766]}, {"N": 2, "C": 10, "S": 100000, "torch_cpu": [17.300844192504883, 17.159223556518555, 17.17400550842285, 17.23313331604004, 17.1816349029541], "torch_gpu": [38.39278221130371, 38.09332847595215, 37.98413276672363, 38.09928894042969, 38.11144828796387], "numpy_cpu": [5.464076995849609, 5.369424819946289, 5.454063415527344, 5.424976348876953, 5.4378509521484375], "numpy_gpu": [6.802797317504883, 5.656003952026367, 5.698442459106445, 5.716800689697266, 5.718231201171875]}, {"N": 2, "C": 100, "S": 10, "torch_cpu": [0.023365020751953125, 0.021696090698242188, 0.02193450927734375, 0.02288818359375, 0.022172927856445312], "torch_gpu": [0.07557868957519531, 0.06270408630371094, 0.062465667724609375, 0.06532669067382812, 0.06127357482910156], "numpy_cpu": [0.1690387725830078, 0.13017654418945312, 0.13518333435058594, 0.1323223114013672, 0.133514404296875], "numpy_gpu": [0.21576881408691406, 0.19693374633789062, 0.1900196075439453, 0.1895427703857422, 0.1957416534423828]}, {"N": 2, "C": 100, "S": 100, "torch_cpu": [0.05245208740234375, 0.04935264587402344, 0.04887580871582031, 0.050067901611328125, 0.04887580871582031], "torch_gpu": [0.11086463928222656, 0.1087188720703125, 0.10418891906738281, 0.10752677917480469, 0.10728836059570312], "numpy_cpu": [0.1533031463623047, 0.16188621520996094, 0.14472007751464844, 0.14853477478027344, 0.14925003051757812], "numpy_gpu": [0.21529197692871094, 0.21386146545410156, 0.19788742065429688, 0.20360946655273438, 0.1990795135498047]}, {"N": 2, "C": 100, "S": 1000, "torch_cpu": [0.3218650817871094, 0.30303001403808594, 0.3037452697753906, 0.3185272216796875, 0.3027915954589844], "torch_gpu": [0.5364418029785156, 0.5390644073486328, 0.5352497100830078, 0.5395412445068359, 0.5369186401367188], "numpy_cpu": [0.25272369384765625, 0.24509429931640625, 0.25653839111328125, 0.25391578674316406, 0.244140625], "numpy_gpu": [0.3066062927246094, 0.3104209899902344, 0.3147125244140625, 0.3211498260498047, 0.31304359436035156]}, {"N": 2, "C": 100, "S": 10000, "torch_cpu": [2.9654502868652344, 2.8426647186279297, 2.9540061950683594, 2.8383731842041016, 2.836942672729492], "torch_gpu": [4.789590835571289, 4.7779083251953125, 4.791975021362305, 4.791259765625, 4.775285720825195], "numpy_cpu": [1.0919570922851562, 1.0929107666015625, 1.0907649993896484, 1.0941028594970703, 1.0890960693359375], "numpy_gpu": [1.1856555938720703, 1.1894702911376953, 1.1806488037109375, 1.1882781982421875, 1.180887222290039]}, {"N": 2, "C": 100, "S": 100000, "torch_cpu": [30.4715633392334, 28.15556526184082, 28.14006805419922, 29.90436553955078, 28.18775177001953], "torch_gpu": [47.26243019104004, 47.333478927612305, 47.20783233642578, 47.38306999206543, 47.29771614074707], "numpy_cpu": [9.342193603515625, 9.361505508422852, 9.323358535766602, 9.351730346679688, 9.386539459228516], "numpy_gpu": [9.621381759643555, 9.619712829589844, 9.685993194580078, 9.63592529296875, 9.623050689697266]}, {"N": 2, "C": 1000, "S": 10, "torch_cpu": [0.11491775512695312, 0.1087188720703125, 0.1125335693359375, 0.10848045349121094, 0.10991096496582031], "torch_gpu": [0.15544891357421875, 0.13637542724609375, 0.12421607971191406, 0.11897087097167969, 0.12540817260742188], "numpy_cpu": [0.2033710479736328, 0.21886825561523438, 0.20384788513183594, 0.19669532775878906, 0.20933151245117188], "numpy_gpu": [0.31113624572753906, 0.28777122497558594, 0.2644062042236328, 0.2906322479248047, 0.2689361572265625]}, {"N": 2, "C": 1000, "S": 100, "torch_cpu": [0.15878677368164062, 0.1583099365234375, 0.16236305236816406, 0.15974044799804688, 0.164031982421875], "torch_gpu": [0.1766681671142578, 0.17905235290527344, 0.18215179443359375, 0.17762184143066406, 0.17833709716796875], "numpy_cpu": [0.22673606872558594, 0.2167224884033203, 0.22125244140625, 0.23603439331054688, 0.2193450927734375], "numpy_gpu": [0.31113624572753906, 0.3077983856201172, 0.3001689910888672, 0.2925395965576172, 0.324249267578125]}, {"N": 2, "C": 1000, "S": 1000, "torch_cpu": [0.6461143493652344, 0.6551742553710938, 0.6465911865234375, 0.6415843963623047, 0.6434917449951172], "torch_gpu": [0.7283687591552734, 0.7305145263671875, 0.7233619689941406, 0.7319450378417969, 0.7219314575195312], "numpy_cpu": [0.4050731658935547, 0.4115104675292969, 0.39768218994140625, 0.39839744567871094, 0.40078163146972656], "numpy_gpu": [0.4820823669433594, 0.49495697021484375, 0.4925727844238281, 0.4749298095703125, 0.4756450653076172]}, {"N": 2, "C": 1000, "S": 10000, "torch_cpu": [5.326986312866211, 8.878231048583984, 8.886098861694336, 8.898258209228516, 8.936405181884766], "torch_gpu": [6.160736083984375, 6.184816360473633, 6.192922592163086, 6.18290901184082, 6.199359893798828], "numpy_cpu": [1.9917488098144531, 2.609729766845703, 2.597332000732422, 2.687692642211914, 2.6237964630126953], "numpy_gpu": [2.0995140075683594, 2.736806869506836, 2.8009414672851562, 2.7344226837158203, 2.7289390563964844]}, {"N": 2, "C": 1000, "S": 100000, "torch_cpu": [87.2201919555664, 87.2042179107666, 87.17608451843262, 87.5234603881836, 52.52718925476074], "torch_gpu": [60.91570854187012, 60.877084732055664, 60.91618537902832, 60.9130859375, 60.92524528503418], "numpy_cpu": [23.36406707763672, 23.98538589477539, 23.500919342041016, 23.427963256835938, 18.332242965698242], "numpy_gpu": [23.688077926635742, 23.70619773864746, 23.681163787841797, 24.175167083740234, 23.914098739624023]}, {"N": 2, "C": 10000, "S": 10, "torch_cpu": [1.7900466918945312, 1.798868179321289, 1.790761947631836, 1.7406940460205078, 1.7385482788085938], "torch_gpu": [0.6322860717773438, 0.6325244903564453, 0.6344318389892578, 0.6310939788818359, 0.6313323974609375], "numpy_cpu": [0.518798828125, 0.5137920379638672, 0.5071163177490234, 0.5197525024414062, 0.48422813415527344], "numpy_gpu": [0.6005764007568359, 0.6098747253417969, 0.6089210510253906, 0.6048679351806641, 0.6318092346191406]}, {"N": 2, "C": 10000, "S": 100, "torch_cpu": [1.9040107727050781, 1.8208026885986328, 1.8641948699951172, 1.878976821899414, 1.8253326416015625], "torch_gpu": [0.7054805755615234, 0.7069110870361328, 0.7073879241943359, 0.7088184356689453, 0.6995201110839844], "numpy_cpu": [0.5352497100830078, 0.5602836608886719, 0.5364418029785156, 0.5235671997070312, 0.5199909210205078], "numpy_gpu": [0.6477832794189453, 0.667572021484375, 0.6701946258544922, 0.6697177886962891, 0.6833076477050781]}, {"N": 2, "C": 10000, "S": 1000, "torch_cpu": [2.802133560180664, 2.8188228607177734, 2.8264522552490234, 2.8128623962402344, 2.856016159057617], "torch_gpu": [1.4510154724121094, 1.4519691467285156, 1.4557838439941406, 1.451730728149414, 1.4510154724121094], "numpy_cpu": [0.8485317230224609, 0.8261203765869141, 0.8175373077392578, 0.8213520050048828, 0.8246898651123047], "numpy_gpu": [0.9515285491943359, 0.988006591796875, 0.9739398956298828, 0.9856224060058594, 0.9822845458984375]}, {"N": 2, "C": 10000, "S": 10000, "torch_cpu": [12.636661529541016, 12.996912002563477, 12.660741806030273, 7.8277587890625, 7.803440093994141], "torch_gpu": [8.901596069335938, 8.910655975341797, 8.90350341796875, 8.911609649658203, 8.903026580810547], "numpy_cpu": [3.609895706176758, 3.6504268646240234, 3.6520957946777344, 3.6695003509521484, 2.834320068359375], "numpy_gpu": [3.8187503814697266, 3.759622573852539, 3.7505626678466797, 3.7446022033691406, 3.066539764404297]}, {"N": 2, "C": 10000, "S": 100000, "torch_cpu": [83.00495147705078, 67.67749786376953, 90.47913551330566, 66.73049926757812, 67.69847869873047], "torch_gpu": [83.65106582641602, 83.74142646789551, 83.59241485595703, 83.6782455444336, 83.64439010620117], "numpy_cpu": [31.206369400024414, 26.318788528442383, 26.551008224487305, 25.86078643798828, 24.3985652923584], "numpy_gpu": [28.82528305053711, 23.709774017333984, 18.6460018157959, 25.087356567382812, 24.173259735107422]}, {"N": 2, "C": 100000, "S": 10, "torch_cpu": [8.756637573242188, 8.358001708984375, 8.708715438842773, 9.023189544677734, 8.56328010559082], "torch_gpu": [6.038427352905273, 5.485296249389648, 5.481481552124023, 5.48100471496582, 5.484104156494141], "numpy_cpu": [2.427816390991211, 2.416372299194336, 2.314329147338867, 2.342700958251953, 2.3360252380371094], "numpy_gpu": [4.148244857788086, 2.652406692504883, 2.6700496673583984, 2.716064453125, 2.6712417602539062]}, {"N": 2, "C": 100000, "S": 100, "torch_cpu": [8.499622344970703, 9.033679962158203, 8.488655090332031, 8.420944213867188, 8.502721786499023], "torch_gpu": [5.579710006713867, 5.579471588134766, 5.58161735534668, 5.586147308349609, 5.578279495239258], "numpy_cpu": [2.383708953857422, 2.3889541625976562, 2.3915767669677734, 2.3784637451171875, 2.4373531341552734], "numpy_gpu": [2.732515335083008, 2.7201175689697266, 2.7246475219726562, 2.7337074279785156, 2.7098655700683594]}, {"N": 2, "C": 100000, "S": 1000, "torch_cpu": [9.839296340942383, 9.728670120239258, 9.21487808227539, 9.402990341186523, 9.675979614257812], "torch_gpu": [6.5174102783203125, 6.5155029296875, 6.515741348266602, 6.519317626953125, 6.519317626953125], "numpy_cpu": [2.8083324432373047, 2.832651138305664, 2.8104782104492188, 2.8569698333740234, 2.8586387634277344], "numpy_gpu": [3.2498836517333984, 3.160238265991211, 3.119230270385742, 3.1387805938720703, 3.126382827758789]}, {"N": 2, "C": 100000, "S": 10000, "torch_cpu": [17.30966567993164, 18.645763397216797, 17.07601547241211, 17.05789566040039, 17.565011978149414], "torch_gpu": [15.914678573608398, 15.91944694519043, 15.913248062133789, 15.90585708618164, 15.91038703918457], "numpy_cpu": [7.122516632080078, 6.799221038818359, 6.850481033325195, 6.835222244262695, 6.803035736083984], "numpy_gpu": [9.872913360595703, 7.165431976318359, 7.148027420043945, 7.152080535888672, 7.168769836425781]}, {"N": 2, "C": 100000, "S": 100000, "torch_cpu": [95.73626518249512, 83.00399780273438, 77.36587524414062, 83.4197998046875, 98.85144233703613], "torch_gpu": [109.89952087402344, 109.87305641174316, 109.89260673522949, 109.88783836364746, 109.93218421936035], "numpy_cpu": [47.30939865112305, 38.71941566467285, 45.827627182006836, 38.08021545410156, 46.63968086242676], "numpy_gpu": [38.83671760559082, 47.97673225402832, 47.219038009643555, 47.206878662109375, 47.2257137298584]}, {"N": 4, "C": 10, "S": 10, "torch_cpu": [0.020742416381835938, 0.017881393432617188, 0.0171661376953125, 0.016450881958007812, 0.017404556274414062], "torch_gpu": [0.07081031799316406, 0.05841255187988281, 0.0514984130859375, 0.061511993408203125, 0.06818771362304688], "numpy_cpu": [0.2741813659667969, 0.21767616271972656, 0.1914501190185547, 0.19812583923339844, 0.2002716064453125], "numpy_gpu": [0.2892017364501953, 0.25534629821777344, 0.2675056457519531, 0.2830028533935547, 0.2903938293457031]}, {"N": 4, "C": 10, "S": 100, "torch_cpu": [0.055789947509765625, 0.05078315734863281, 0.04863739013671875, 0.050067901611328125, 0.05459785461425781], "torch_gpu": [0.09822845458984375, 0.10251998901367188, 0.10061264038085938, 0.09012222290039062, 0.10037422180175781], "numpy_cpu": [0.24390220642089844, 0.23555755615234375, 0.2052783966064453, 0.20647048950195312, 0.2944469451904297], "numpy_gpu": [0.29778480529785156, 0.3094673156738281, 0.2760887145996094, 0.2841949462890625, 0.3075599670410156]}, {"N": 4, "C": 10, "S": 1000, "torch_cpu": [0.4055500030517578, 0.37169456481933594, 0.3643035888671875, 0.400543212890625, 0.3712177276611328], "torch_gpu": [0.4417896270751953, 0.4444122314453125, 0.4506111145019531, 0.4425048828125, 0.4353523254394531], "numpy_cpu": [0.3731250762939453, 0.3323554992675781, 0.33545494079589844, 0.3600120544433594, 0.324249267578125], "numpy_gpu": [0.3905296325683594, 0.40721893310546875, 0.4100799560546875, 0.39315223693847656, 0.4260540008544922]}, {"N": 4, "C": 10, "S": 10000, "torch_cpu": [3.6325454711914062, 3.7229061126708984, 3.6432743072509766, 3.5643577575683594, 3.6411285400390625], "torch_gpu": [3.924846649169922, 3.908395767211914, 3.9260387420654297, 3.915071487426758, 3.908872604370117], "numpy_cpu": [1.4925003051757812, 1.3287067413330078, 1.3196468353271484, 1.317739486694336, 1.3344287872314453], "numpy_gpu": [1.4276504516601562, 1.420736312866211, 1.5707015991210938, 1.4863014221191406, 1.438140869140625]}, {"N": 4, "C": 10, "S": 100000, "torch_cpu": [35.89057922363281, 35.88557243347168, 37.648916244506836, 36.163330078125, 35.93873977661133], "torch_gpu": [38.94925117492676, 38.57278823852539, 38.65814208984375, 38.515329360961914, 38.65218162536621], "numpy_cpu": [11.568307876586914, 11.030912399291992, 11.00778579711914, 10.999917984008789, 11.019229888916016], "numpy_gpu": [11.246442794799805, 11.419296264648438, 11.373043060302734, 11.423349380493164, 11.398792266845703]}, {"N": 4, "C": 100, "S": 10, "torch_cpu": [0.03695487976074219, 0.03170967102050781, 0.03361701965332031, 0.03170967102050781, 0.0324249267578125], "torch_gpu": [0.06628036499023438, 0.064849853515625, 0.07176399230957031, 0.072479248046875, 0.0705718994140625], "numpy_cpu": [0.2598762512207031, 0.22673606872558594, 0.22339820861816406, 0.19431114196777344, 0.2186298370361328], "numpy_gpu": [0.30350685119628906, 0.27441978454589844, 0.2734661102294922, 0.26798248291015625, 0.27298927307128906]}, {"N": 4, "C": 100, "S": 100, "torch_cpu": [0.09250640869140625, 0.08177757263183594, 0.08249282836914062, 0.08940696716308594, 0.08368492126464844], "torch_gpu": [0.10776519775390625, 0.11515617370605469, 0.10824203491210938, 0.11372566223144531, 0.11348724365234375], "numpy_cpu": [0.2524852752685547, 0.24890899658203125, 0.2257823944091797, 0.2193450927734375, 0.21839141845703125], "numpy_gpu": [0.3173351287841797, 0.293731689453125, 0.2911090850830078, 0.3066062927246094, 0.3142356872558594]}, {"N": 4, "C": 100, "S": 1000, "torch_cpu": [0.6651878356933594, 0.591278076171875, 0.5726814270019531, 0.5817413330078125, 0.5755424499511719], "torch_gpu": [0.5381107330322266, 0.537872314453125, 0.5385875701904297, 0.54168701171875, 0.5373954772949219], "numpy_cpu": [0.5040168762207031, 0.4405975341796875, 0.4153251647949219, 0.4150867462158203, 0.42939186096191406], "numpy_gpu": [0.49614906311035156, 0.5474090576171875, 0.514984130859375, 0.5061626434326172, 0.4966259002685547]}, {"N": 4, "C": 100, "S": 10000, "torch_cpu": [5.525112152099609, 5.810737609863281, 5.521297454833984, 5.670309066772461, 5.797147750854492], "torch_gpu": [4.831075668334961, 4.819631576538086, 4.821300506591797, 4.831790924072266, 4.826545715332031], "numpy_cpu": [2.2504329681396484, 2.257108688354492, 2.2096633911132812, 2.106904983520508, 2.1097660064697266], "numpy_gpu": [2.4242401123046875, 2.299070358276367, 2.2852420806884766, 2.246856689453125, 2.293825149536133]}, {"N": 4, "C": 100, "S": 100000, "torch_cpu": [55.838823318481445, 56.85067176818848, 56.05936050415039, 55.97114562988281, 55.873870849609375], "torch_gpu": [47.688961029052734, 47.66058921813965, 47.65820503234863, 47.692060470581055, 47.70398139953613], "numpy_cpu": [18.92542839050293, 19.1192626953125, 18.90087127685547, 18.94354820251465, 18.940210342407227], "numpy_gpu": [19.220590591430664, 19.453048706054688, 19.479036331176758, 19.517898559570312, 19.254684448242188]}, {"N": 4, "C": 1000, "S": 10, "torch_cpu": [0.16927719116210938, 0.17523765563964844, 0.17833709716796875, 0.1571178436279297, 0.16021728515625], "torch_gpu": [0.12111663818359375, 0.11754035949707031, 0.1163482666015625, 0.11277198791503906, 0.11205673217773438], "numpy_cpu": [0.3008842468261719, 0.2512931823730469, 0.25391578674316406, 0.2567768096923828, 0.24890899658203125], "numpy_gpu": [0.40531158447265625, 0.3428459167480469, 0.3306865692138672, 0.30732154846191406, 0.3192424774169922]}, {"N": 4, "C": 1000, "S": 100, "torch_cpu": [0.2224445343017578, 0.22983551025390625, 0.2288818359375, 0.22721290588378906, 0.22339820861816406], "torch_gpu": [0.16999244689941406, 0.16546249389648438, 0.16927719116210938, 0.1678466796875, 0.1671314239501953], "numpy_cpu": [0.30732154846191406, 0.28967857360839844, 0.2970695495605469, 0.2853870391845703, 0.2779960632324219], "numpy_gpu": [0.34117698669433594, 0.33593177795410156, 0.3554821014404297, 0.33283233642578125, 0.3533363342285156]}, {"N": 4, "C": 1000, "S": 1000, "torch_cpu": [1.0724067687988281, 0.9207725524902344, 0.9558200836181641, 1.0306835174560547, 0.9477138519287109], "torch_gpu": [0.7407665252685547, 0.7405281066894531, 0.7114410400390625, 0.7119178771972656, 0.7088184356689453], "numpy_cpu": [0.5695819854736328, 0.54168701171875, 0.5581378936767578, 0.5507469177246094, 0.5609989166259766], "numpy_gpu": [0.9129047393798828, 0.6377696990966797, 0.6265640258789062, 0.606536865234375, 0.6201267242431641]}, {"N": 4, "C": 1000, "S": 10000, "torch_cpu": [9.052276611328125, 8.05044174194336, 8.507251739501953, 8.046150207519531, 8.239269256591797], "torch_gpu": [6.198406219482422, 6.19196891784668, 6.19196891784668, 6.190299987792969, 6.191253662109375], "numpy_cpu": [2.9621124267578125, 2.940654754638672, 2.9451847076416016, 3.075122833251953, 3.214120864868164], "numpy_gpu": [3.1485557556152344, 3.2486915588378906, 3.091573715209961, 3.1175613403320312, 3.330230712890625]}, {"N": 4, "C": 1000, "S": 100000, "torch_cpu": [94.11025047302246, 102.35977172851562, 98.60706329345703, 98.4354019165039, 93.10173988342285], "torch_gpu": [60.979604721069336, 60.90974807739258, 60.98127365112305, 60.929059982299805, 60.927629470825195], "numpy_cpu": [29.730558395385742, 31.377077102661133, 31.570911407470703, 33.470869064331055, 33.410072326660156], "numpy_gpu": [31.077146530151367, 27.988910675048828, 44.795989990234375, 33.827781677246094, 33.82062911987305]}, {"N": 4, "C": 10000, "S": 10, "torch_cpu": [1.613616943359375, 1.7352104187011719, 1.6951560974121094, 1.7390251159667969, 1.6405582427978516], "torch_gpu": [0.6148815155029297, 0.6091594696044922, 0.6127357482910156, 0.6110668182373047, 0.6113052368164062], "numpy_cpu": [0.7102489471435547, 0.6973743438720703, 0.6830692291259766, 0.6814002990722656, 0.6818771362304688], "numpy_gpu": [0.8008480072021484, 0.8170604705810547, 0.8511543273925781, 0.843048095703125, 0.8265972137451172]}, {"N": 4, "C": 10000, "S": 100, "torch_cpu": [1.7545223236083984, 1.8420219421386719, 1.7805099487304688, 1.9092559814453125, 1.8849372863769531], "torch_gpu": [0.6914138793945312, 0.6914138793945312, 0.6823539733886719, 0.6909370422363281, 0.6875991821289062], "numpy_cpu": [0.7340908050537109, 0.7925033569335938, 0.7474422454833984, 0.7417201995849609, 0.7600784301757812], "numpy_gpu": [0.9222030639648438, 0.8699893951416016, 0.8838176727294922, 0.8754730224609375, 0.8971691131591797]}, {"N": 4, "C": 10000, "S": 1000, "torch_cpu": [3.1702518463134766, 2.9153823852539062, 3.2014846801757812, 3.0374526977539062, 3.0558109283447266], "torch_gpu": [1.4338493347167969, 1.440286636352539, 1.4400482177734375, 1.4374256134033203, 1.428842544555664], "numpy_cpu": [1.2793540954589844, 1.2192726135253906, 1.1963844299316406, 1.2307167053222656, 1.2278556823730469], "numpy_gpu": [1.3613700866699219, 1.348257064819336, 1.3546943664550781, 1.3756752014160156, 1.3108253479003906]}, {"N": 4, "C": 10000, "S": 10000, "torch_cpu": [15.928268432617188, 14.68515396118164, 14.915704727172852, 14.636039733886719, 14.715194702148438], "torch_gpu": [8.87608528137207, 8.88514518737793, 8.87608528137207, 8.865118026733398, 8.873701095581055], "numpy_cpu": [5.466461181640625, 5.38182258605957, 5.4912567138671875, 5.431890487670898, 5.415916442871094], "numpy_gpu": [5.620479583740234, 5.541086196899414, 5.605220794677734, 5.629062652587891, 5.691289901733398]}, {"N": 4, "C": 10000, "S": 100000, "torch_cpu": [125.92530250549316, 110.54444313049316, 124.50242042541504, 119.80581283569336, 127.68101692199707], "torch_gpu": [83.25004577636719, 83.27960968017578, 83.2827091217041, 83.28938484191895, 83.27770233154297], "numpy_cpu": [39.27469253540039, 48.63762855529785, 39.19100761413574, 48.7217903137207, 48.69580268859863], "numpy_gpu": [49.29852485656738, 49.20649528503418, 49.19075965881348, 49.13926124572754, 51.58877372741699]}, {"N": 4, "C": 100000, "S": 10, "torch_cpu": [17.08531379699707, 17.960548400878906, 17.71259307861328, 16.67165756225586, 16.836166381835938], "torch_gpu": [6.3629150390625, 5.524396896362305, 5.521059036254883, 5.518198013305664, 5.5255889892578125], "numpy_cpu": [4.627227783203125, 4.721641540527344, 4.665136337280273, 4.585742950439453, 4.674434661865234], "numpy_gpu": [5.394220352172852, 5.228757858276367, 5.209922790527344, 5.242347717285156, 5.250692367553711]}, {"N": 4, "C": 100000, "S": 100, "torch_cpu": [16.880512237548828, 33.62011909484863, 21.228551864624023, 21.919727325439453, 33.58912467956543], "torch_gpu": [5.634069442749023, 5.629539489746094, 5.632877349853516, 5.610942840576172, 5.633115768432617], "numpy_cpu": [4.991292953491211, 5.077600479125977, 4.999637603759766, 4.992961883544922, 4.999876022338867], "numpy_gpu": [5.585432052612305, 5.613565444946289, 5.681276321411133, 5.318641662597656, 5.545616149902344]}, {"N": 4, "C": 100000, "S": 1000, "torch_cpu": [18.45240592956543, 36.23557090759277, 19.710302352905273, 31.059980392456055, 19.649982452392578], "torch_gpu": [6.5784454345703125, 6.603479385375977, 6.548166275024414, 6.556987762451172, 6.555795669555664], "numpy_cpu": [5.565643310546875, 5.975484848022461, 5.549907684326172, 5.554914474487305, 5.538463592529297], "numpy_gpu": [6.15692138671875, 6.640434265136719, 6.150722503662109, 6.691932678222656, 6.188631057739258]}, {"N": 4, "C": 100000, "S": 10000, "torch_cpu": [39.46566581726074, 47.2111701965332, 45.28069496154785, 43.196916580200195, 39.320945739746094], "torch_gpu": [15.971660614013672, 15.956878662109375, 15.98215103149414, 15.949249267578125, 15.952825546264648], "numpy_cpu": [14.616250991821289, 13.704538345336914, 15.642404556274414, 14.218330383300781, 13.907909393310547], "numpy_gpu": [16.358137130737305, 14.381885528564453, 16.36052131652832, 14.388322830200195, 16.330718994140625]}, {"N": 4, "C": 100000, "S": 100000, "torch_cpu": [148.63085746765137, 156.62717819213867, 147.33457565307617, 151.87692642211914, 147.91345596313477], "torch_gpu": [110.19253730773926, 110.08572578430176, 110.0764274597168, 110.07094383239746, 110.04781723022461], "numpy_cpu": [110.03398895263672, 95.06368637084961, 95.02434730529785, 95.11065483093262, 95.00384330749512], "numpy_gpu": [95.07989883422852, 95.97516059875488, 77.81362533569336, 77.79383659362793, 95.95441818237305]}, {"N": 8, "C": 10, "S": 10, "torch_cpu": [0.025272369384765625, 0.02384185791015625, 0.022649765014648438, 0.022411346435546875, 0.023603439331054688], "torch_gpu": [0.06580352783203125, 0.06079673767089844, 0.05793571472167969, 0.06222724914550781, 0.06628036499023438], "numpy_cpu": [0.34737586975097656, 0.33164024353027344, 0.3390312194824219, 0.3483295440673828, 0.33593177795410156], "numpy_gpu": [0.4546642303466797, 0.38933753967285156, 0.3979206085205078, 0.39649009704589844, 0.38814544677734375]}, {"N": 8, "C": 10, "S": 100, "torch_cpu": [0.09417533874511719, 0.08678436279296875, 0.08702278137207031, 0.08797645568847656, 0.08678436279296875], "torch_gpu": [0.09846687316894531, 0.09655952453613281, 0.0972747802734375, 0.09322166442871094, 0.08893013000488281], "numpy_cpu": [0.37598609924316406, 0.35190582275390625, 0.39005279541015625, 0.3619194030761719, 0.3476142883300781], "numpy_gpu": [0.44846534729003906, 0.4355907440185547, 0.4227161407470703, 0.4124641418457031, 0.4298686981201172]}, {"N": 8, "C": 10, "S": 1000, "torch_cpu": [0.751495361328125, 0.7348060607910156, 0.7069110870361328, 0.7288455963134766, 0.7283687591552734], "torch_gpu": [0.45108795166015625, 0.446319580078125, 0.44155120849609375, 0.45680999755859375, 0.4417896270751953], "numpy_cpu": [0.6303787231445312, 0.5855560302734375, 0.5812644958496094, 0.5824565887451172, 0.5807876586914062], "numpy_gpu": [0.6701946258544922, 0.6592273712158203, 0.6840229034423828, 0.6880760192871094, 0.6844997406005859]}, {"N": 8, "C": 10, "S": 10000, "torch_cpu": [6.927490234375, 7.125139236450195, 6.9370269775390625, 8.068323135375977, 6.916284561157227], "torch_gpu": [3.952503204345703, 3.9396286010742188, 3.9620399475097656, 3.967761993408203, 3.972768783569336], "numpy_cpu": [2.546072006225586, 2.551555633544922, 2.5479793548583984, 2.5718212127685547, 2.569913864135742], "numpy_gpu": [2.733945846557617, 2.7484893798828125, 2.8700828552246094, 2.7513504028320312, 2.744436264038086]}, {"N": 8, "C": 10, "S": 100000, "torch_cpu": [70.50013542175293, 70.0373649597168, 70.40524482727051, 72.2510814666748, 69.30255889892578], "torch_gpu": [39.17360305786133, 39.22724723815918, 39.11638259887695, 39.095401763916016, 39.093732833862305], "numpy_cpu": [23.550987243652344, 23.596525192260742, 21.53635025024414, 24.257898330688477, 21.720409393310547], "numpy_gpu": [22.54176139831543, 22.436857223510742, 22.917509078979492, 22.30215072631836, 22.517681121826172]}, {"N": 8, "C": 100, "S": 10, "torch_cpu": [0.05435943603515625, 0.05459785461425781, 0.05269050598144531, 0.05173683166503906, 0.04935264587402344], "torch_gpu": [0.06866455078125, 0.06866455078125, 0.06890296936035156, 0.06175041198730469, 0.06508827209472656], "numpy_cpu": [0.4017353057861328, 0.34356117248535156, 0.33736228942871094, 0.33354759216308594, 0.34928321838378906], "numpy_gpu": [0.4239082336425781, 0.40531158447265625, 0.4019737243652344, 0.4105567932128906, 0.4017353057861328]}, {"N": 8, "C": 100, "S": 100, "torch_cpu": [0.15878677368164062, 0.15020370483398438, 0.15044212341308594, 0.14925003051757812, 0.156402587890625], "torch_gpu": [0.11563301086425781, 0.11038780212402344, 0.11134147644042969, 0.11277198791503906, 0.11897087097167969], "numpy_cpu": [0.41961669921875, 0.3867149353027344, 0.3814697265625, 0.3914833068847656, 0.3826618194580078], "numpy_gpu": [0.4744529724121094, 0.4475116729736328, 0.45418739318847656, 0.47659873962402344, 0.4551410675048828]}, {"N": 8, "C": 100, "S": 1000, "torch_cpu": [1.1839866638183594, 1.1315345764160156, 1.1315345764160156, 1.1320114135742188, 1.1310577392578125], "torch_gpu": [0.5421638488769531, 0.5440711975097656, 0.5352497100830078, 0.5640983581542969, 0.5462169647216797], "numpy_cpu": [0.8077621459960938, 0.7767677307128906, 0.7920265197753906, 0.8053779602050781, 0.7841587066650391], "numpy_gpu": [0.8411407470703125, 0.8509159088134766, 2.9439926147460938, 0.8466243743896484, 0.8792877197265625]}, {"N": 8, "C": 100, "S": 10000, "torch_cpu": [11.022090911865234, 11.046409606933594, 10.927200317382812, 11.053085327148438, 10.938882827758789], "torch_gpu": [4.879951477050781, 4.886150360107422, 4.878997802734375, 4.872560501098633, 4.8828125], "numpy_cpu": [4.168510437011719, 4.2552947998046875, 4.148006439208984, 4.159212112426758, 4.163265228271484], "numpy_gpu": [4.349946975708008, 4.335880279541016, 4.391193389892578, 4.342317581176758, 4.336833953857422]}, {"N": 8, "C": 100, "S": 100000, "torch_cpu": [109.31754112243652, 108.80708694458008, 108.85167121887207, 110.60380935668945, 111.74941062927246], "torch_gpu": [48.39491844177246, 48.28047752380371, 48.16627502441406, 48.3243465423584, 48.491477966308594], "numpy_cpu": [39.041757583618164, 37.184953689575195, 39.83902931213379, 39.945363998413086, 37.200927734375], "numpy_gpu": [38.13934326171875, 37.8575325012207, 37.98675537109375, 37.963151931762695, 41.968584060668945]}, {"N": 8, "C": 1000, "S": 10, "torch_cpu": [0.40149688720703125, 0.38743019104003906, 0.4107952117919922, 0.39577484130859375, 0.3871917724609375], "torch_gpu": [0.1308917999267578, 0.1366138458251953, 0.1277923583984375, 0.13256072998046875, 0.12731552124023438], "numpy_cpu": [0.5526542663574219, 0.5486011505126953, 0.5853176116943359, 0.5548000335693359, 0.576019287109375], "numpy_gpu": [0.6906986236572266, 0.6439685821533203, 0.6411075592041016, 0.6344318389892578, 0.8704662322998047]}, {"N": 8, "C": 1000, "S": 100, "torch_cpu": [0.8237361907958984, 0.5877017974853516, 0.6103515625, 0.6077289581298828, 0.5841255187988281], "torch_gpu": [0.21910667419433594, 0.18548965454101562, 0.19693374633789062, 0.2257823944091797, 0.1811981201171875], "numpy_cpu": [0.6232261657714844, 0.6234645843505859, 0.6012916564941406, 0.6453990936279297, 0.6263256072998047], "numpy_gpu": [1.172780990600586, 0.7915496826171875, 0.7634162902832031, 0.7085800170898438, 0.7359981536865234]}, {"N": 8, "C": 1000, "S": 1000, "torch_cpu": [2.567291259765625, 2.482175827026367, 2.521038055419922, 2.4538040161132812, 2.539396286010742], "torch_gpu": [0.7352828979492188, 0.7343292236328125, 0.7293224334716797, 0.7293224334716797, 0.7355213165283203], "numpy_cpu": [1.3339519500732422, 1.352071762084961, 1.336812973022461, 1.3616085052490234, 1.3375282287597656], "numpy_gpu": [1.4462471008300781, 1.4188289642333984, 1.4247894287109375, 1.440286636352539, 1.4233589172363281]}, {"N": 8, "C": 1000, "S": 10000, "torch_cpu": [21.228551864624023, 21.186351776123047, 21.15011215209961, 21.181106567382812, 21.7893123626709], "torch_gpu": [6.268739700317383, 6.265163421630859, 6.261110305786133, 6.267786026000977, 6.268501281738281], "numpy_cpu": [7.734775543212891, 7.80940055847168, 7.709503173828125, 7.806062698364258, 7.707834243774414], "numpy_gpu": [7.928371429443359, 7.943153381347656, 7.965803146362305, 7.962942123413086, 7.97581672668457]}, {"N": 8, "C": 1000, "S": 100000, "torch_cpu": [160.02130508422852, 173.1877326965332, 187.94727325439453, 216.55511856079102, 205.6891918182373], "torch_gpu": [61.521291732788086, 61.51914596557617, 61.51580810546875, 61.504364013671875, 61.57493591308594], "numpy_cpu": [72.03149795532227, 53.51972579956055, 70.88613510131836, 53.31897735595703, 54.81767654418945], "numpy_gpu": [71.72346115112305, 71.67530059814453, 54.08000946044922, 54.187774658203125, 54.10170555114746]}, {"N": 8, "C": 10000, "S": 10, "torch_cpu": [3.451108932495117, 3.37982177734375, 3.3714771270751953, 3.6339759826660156, 3.4737586975097656], "torch_gpu": [0.6189346313476562, 0.6198883056640625, 0.6184577941894531, 0.6175041198730469, 0.6237030029296875], "numpy_cpu": [1.4023780822753906, 1.3577938079833984, 1.4383792877197266, 1.3935565948486328, 1.4240741729736328], "numpy_gpu": [1.5263557434082031, 1.603841781616211, 1.5501976013183594, 1.5270709991455078, 1.5375614166259766]}, {"N": 8, "C": 10000, "S": 100, "torch_cpu": [3.636598587036133, 3.8182735443115234, 3.625154495239258, 3.610372543334961, 3.9076805114746094], "torch_gpu": [0.7009506225585938, 0.6923675537109375, 0.6926059722900391, 0.7138252258300781, 0.6937980651855469], "numpy_cpu": [1.455545425415039, 1.4653205871582031, 1.4693737030029297, 1.5208721160888672, 1.4691352844238281], "numpy_gpu": [1.7192363739013672, 1.7447471618652344, 1.695394515991211, 1.6515254974365234, 1.6281604766845703]}, {"N": 8, "C": 10000, "S": 1000, "torch_cpu": [6.069421768188477, 6.355047225952148, 6.042718887329102, 6.048440933227539, 6.201744079589844], "torch_gpu": [1.4483928680419922, 1.4395713806152344, 1.4426708221435547, 1.4462471008300781, 1.4348030090332031], "numpy_cpu": [2.4368762969970703, 2.429485321044922, 2.491474151611328, 2.388477325439453, 2.423524856567383], "numpy_gpu": [2.6073455810546875, 2.5882720947265625, 2.6106834411621094, 2.69317626953125, 2.6078224182128906]}, {"N": 8, "C": 10000, "S": 10000, "torch_cpu": [30.080556869506836, 30.25031089782715, 30.040502548217773, 34.626007080078125, 50.405263900756836], "torch_gpu": [8.89444351196289, 8.911609649658203, 8.90493392944336, 8.907318115234375, 8.912324905395508], "numpy_cpu": [11.053800582885742, 11.061429977416992, 11.059284210205078, 14.060258865356445, 14.098644256591797], "numpy_gpu": [11.369705200195312, 11.389732360839844, 11.430740356445312, 14.402389526367188, 14.409065246582031]}, {"N": 8, "C": 10000, "S": 100000, "torch_cpu": [204.3626308441162, 287.63484954833984, 232.08284378051758, 252.78544425964355, 234.6057891845703], "torch_gpu": [83.42242240905762, 83.39071273803711, 83.43148231506348, 83.41169357299805, 83.40167999267578], "numpy_cpu": [124.15504455566406, 73.46987724304199, 73.19879531860352, 73.1501579284668, 73.2111930847168], "numpy_gpu": [74.1274356842041, 78.28378677368164, 73.9905834197998, 73.8370418548584, 98.36030006408691]}, {"N": 8, "C": 100000, "S": 10, "torch_cpu": [35.43353080749512, 33.41388702392578, 34.401893615722656, 34.19637680053711, 33.33711624145508], "torch_gpu": [6.991147994995117, 6.086111068725586, 6.071567535400391, 6.1511993408203125, 6.066322326660156], "numpy_cpu": [9.068489074707031, 9.089469909667969, 9.093284606933594, 9.137153625488281, 9.122371673583984], "numpy_gpu": [10.046958923339844, 10.000228881835938, 10.011672973632812, 10.069847106933594, 9.98830795288086]}, {"N": 8, "C": 100000, "S": 100, "torch_cpu": [67.08455085754395, 67.2307014465332, 67.01445579528809, 67.10362434387207, 67.7645206451416], "torch_gpu": [6.204843521118164, 6.206035614013672, 6.20579719543457, 6.202220916748047, 6.2084197998046875], "numpy_cpu": [9.902000427246094, 9.865522384643555, 9.873151779174805, 9.900093078613281, 9.932994842529297], "numpy_gpu": [10.899066925048828, 10.819435119628906, 10.90693473815918, 10.801553726196289, 11.765003204345703]}, {"N": 8, "C": 100000, "S": 1000, "torch_cpu": [73.26221466064453, 72.55053520202637, 72.46112823486328, 72.3729133605957, 72.43990898132324], "torch_gpu": [7.306337356567383, 7.288455963134766, 7.292985916137695, 7.284641265869141, 7.2803497314453125], "numpy_cpu": [12.145757675170898, 11.919498443603516, 11.954545974731445, 11.928796768188477, 11.895895004272461], "numpy_gpu": [13.106584548950195, 12.956619262695312, 12.887954711914062, 12.82191276550293, 12.790441513061523]}, {"N": 8, "C": 100000, "S": 10000, "torch_cpu": [119.47965621948242, 122.31111526489258, 122.08962440490723, 68.01509857177734, 68.16339492797852], "torch_gpu": [17.124652862548828, 17.11869239807129, 17.122745513916016, 17.095088958740234, 17.103195190429688], "numpy_cpu": [30.852794647216797, 29.66594696044922, 29.22368049621582, 27.434110641479492, 27.135372161865234], "numpy_gpu": [32.112836837768555, 32.43565559387207, 32.51934051513672, 28.34916114807129, 28.177976608276367]}, {"N": 8, "C": 100000, "S": 100000, "torch_cpu": [310.7137680053711, 294.1129207611084, 324.9528408050537, 374.62711334228516, 294.0986156463623], "torch_gpu": [111.8631362915039, 111.39321327209473, 111.37557029724121, 111.38725280761719, 111.41419410705566], "numpy_cpu": [192.75569915771484, 206.70652389526367, 153.47719192504883, 153.33867073059082, 153.46336364746094], "numpy_gpu": [157.06634521484375, 155.25293350219727, 155.2143096923828, 154.98661994934082, 191.96844100952148]}, {"N": 16, "C": 10, "S": 10, "torch_cpu": [0.03504753112792969, 0.03552436828613281, 0.03409385681152344, 0.03409385681152344, 0.03457069396972656], "torch_gpu": [0.06175041198730469, 0.06532669067382812, 0.06556510925292969, 0.057697296142578125, 0.05888938903808594], "numpy_cpu": [0.6167888641357422, 0.5943775177001953, 0.6024837493896484, 0.6127357482910156, 0.5981922149658203], "numpy_gpu": [0.7557868957519531, 0.6537437438964844, 0.6570816040039062, 0.6611347198486328, 0.6515979766845703]}, {"N": 16, "C": 10, "S": 100, "torch_cpu": [0.1735687255859375, 0.16069412231445312, 0.17142295837402344, 0.15997886657714844, 0.16379356384277344], "torch_gpu": [0.09679794311523438, 0.09441375732421875, 0.09226799011230469, 0.09274482727050781, 0.09918212890625], "numpy_cpu": [0.6842613220214844, 0.6594657897949219, 0.6396770477294922, 0.6425380706787109, 0.6425380706787109], "numpy_gpu": [0.7753372192382812, 0.732421875, 0.7154941558837891, 0.7297992706298828, 0.7035732269287109]}, {"N": 16, "C": 10, "S": 1000, "torch_cpu": [1.3968944549560547, 1.4636516571044922, 1.4095306396484375, 1.4469623565673828, 1.5180110931396484], "torch_gpu": [0.45943260192871094, 0.4425048828125, 0.44536590576171875, 0.44655799865722656, 0.4496574401855469], "numpy_cpu": [1.1396408081054688, 1.104593276977539, 1.1060237884521484, 1.119375228881836, 1.1997222900390625], "numpy_gpu": [1.184225082397461, 1.209259033203125, 1.1751651763916016, 1.178741455078125, 1.196146011352539]}, {"N": 16, "C": 10, "S": 10000, "torch_cpu": [15.408992767333984, 13.805389404296875, 13.826370239257812, 14.23954963684082, 13.824701309204102], "torch_gpu": [3.9720535278320312, 3.9932727813720703, 3.968954086303711, 3.9632320404052734, 3.971576690673828], "numpy_cpu": [5.076169967651367, 5.042076110839844, 5.050897598266602, 5.07664680480957, 5.022287368774414], "numpy_gpu": [5.317449569702148, 5.307435989379883, 5.318403244018555, 5.298852920532227, 5.309343338012695]}, {"N": 16, "C": 10, "S": 100000, "torch_cpu": [138.24462890625, 142.38762855529785, 142.6079273223877, 147.2477912902832, 143.07880401611328], "torch_gpu": [39.5205020904541, 39.15667533874512, 39.00146484375, 39.19672966003418, 39.20888900756836], "numpy_cpu": [43.32232475280762, 43.3955192565918, 43.51043701171875, 43.48564147949219, 43.41769218444824], "numpy_gpu": [50.673484802246094, 44.76594924926758, 44.69728469848633, 44.60310935974121, 44.960737228393555]}, {"N": 16, "C": 100, "S": 10, "torch_cpu": [0.0972747802734375, 0.09965896606445312, 0.08916854858398438, 0.08678436279296875, 0.09250640869140625], "torch_gpu": [0.06699562072753906, 0.061511993408203125, 0.06389617919921875, 0.06079673767089844, 0.06842613220214844], "numpy_cpu": [0.7109642028808594, 0.6299018859863281, 0.6177425384521484, 0.6046295166015625, 0.6277561187744141], "numpy_gpu": [0.6804466247558594, 0.6723403930664062, 0.6747245788574219, 0.6966590881347656, 0.6926059722900391]}, {"N": 16, "C": 100, "S": 100, "torch_cpu": [0.2892017364501953, 0.2887248992919922, 0.2875328063964844, 0.28586387634277344, 0.3142356872558594], "torch_gpu": [0.10848045349121094, 0.10776519775390625, 0.10251998901367188, 0.11110305786132812, 0.102996826171875], "numpy_cpu": [0.7054805755615234, 0.690460205078125, 0.7152557373046875, 0.7021427154541016, 0.6859302520751953], "numpy_gpu": [0.8087158203125, 0.7736682891845703, 0.7576942443847656, 0.7708072662353516, 0.7863044738769531]}, {"N": 16, "C": 100, "S": 1000, "torch_cpu": [2.374410629272461, 2.2516250610351562, 2.2513866424560547, 2.2461414337158203, 2.254486083984375], "torch_gpu": [0.5395412445068359, 0.5476474761962891, 0.5412101745605469, 0.5393028259277344, 0.5397796630859375], "numpy_cpu": [1.4557838439941406, 1.4486312866210938, 1.482248306274414, 1.4486312866210938, 1.4524459838867188], "numpy_gpu": [1.581430435180664, 1.5730857849121094, 1.573801040649414, 1.590728759765625, 1.5628337860107422]}, {"N": 16, "C": 100, "S": 10000, "torch_cpu": [21.93474769592285, 22.885799407958984, 24.866819381713867, 24.920225143432617, 22.603511810302734], "torch_gpu": [4.910945892333984, 4.889726638793945, 4.892826080322266, 4.884243011474609, 4.874467849731445], "numpy_cpu": [8.266210556030273, 8.231878280639648, 8.235454559326172, 8.28099250793457, 8.238792419433594], "numpy_gpu": [8.504867553710938, 8.51893424987793, 8.505105972290039, 8.516311645507812, 8.510351181030273]}, {"N": 16, "C": 100, "S": 100000, "torch_cpu": [218.3520793914795, 217.99516677856445, 243.5476779937744, 225.90184211730957, 222.89752960205078], "torch_gpu": [48.22683334350586, 48.247575759887695, 48.319101333618164, 48.261404037475586, 48.10476303100586], "numpy_cpu": [74.72801208496094, 74.72944259643555, 74.85532760620117, 74.77307319641113, 74.74088668823242], "numpy_gpu": [76.25865936279297, 76.20596885681152, 76.14994049072266, 76.09367370605469, 76.02739334106445]}, {"N": 16, "C": 1000, "S": 10, "torch_cpu": [0.7333755493164062, 0.7524490356445312, 0.7510185241699219, 0.8356571197509766, 0.7841587066650391], "torch_gpu": [0.14066696166992188, 0.13136863708496094, 0.1316070556640625, 0.13399124145507812, 0.12302398681640625], "numpy_cpu": [0.9784698486328125, 1.0492801666259766, 1.0478496551513672, 0.9877681732177734, 0.9970664978027344], "numpy_gpu": [1.3926029205322266, 1.1200904846191406, 1.0950565338134766, 1.1522769927978516, 1.1448860168457031]}, {"N": 16, "C": 1000, "S": 100, "torch_cpu": [1.1751651763916016, 1.1868476867675781, 1.0988712310791016, 1.1632442474365234, 1.2049674987792969], "torch_gpu": [0.18668174743652344, 0.18596649169921875, 0.18310546875, 0.186920166015625, 0.17690658569335938], "numpy_cpu": [1.1174678802490234, 1.2116432189941406, 1.1358261108398438, 1.134634017944336, 1.1188983917236328], "numpy_gpu": [1.3041496276855469, 1.2617111206054688, 1.3036727905273438, 1.3027191162109375, 1.28936767578125]}, {"N": 16, "C": 1000, "S": 1000, "torch_cpu": [4.99415397644043, 5.014181137084961, 4.892110824584961, 4.882097244262695, 4.866838455200195], "torch_gpu": [0.7398128509521484, 0.7414817810058594, 0.7359981536865234, 0.7374286651611328, 0.7317066192626953], "numpy_cpu": [2.5522708892822266, 2.64739990234375, 2.549886703491211, 2.5391578674316406, 2.5589466094970703], "numpy_gpu": [2.7112960815429688, 2.674579620361328, 2.7229785919189453, 2.712726593017578, 2.7484893798828125]}, {"N": 16, "C": 1000, "S": 10000, "torch_cpu": [46.45705223083496, 42.26112365722656, 42.37794876098633, 70.57046890258789, 70.66988945007324], "torch_gpu": [6.217479705810547, 6.220579147338867, 6.222248077392578, 6.23774528503418, 6.247997283935547], "numpy_cpu": [15.353202819824219, 15.342950820922852, 15.305519104003906, 15.389442443847656, 20.146608352661133], "numpy_gpu": [15.634298324584961, 15.636444091796875, 15.675544738769531, 18.466711044311523, 20.544767379760742]}, {"N": 16, "C": 1000, "S": 100000, "torch_cpu": [322.25871086120605, 314.55159187316895, 336.61794662475586, 359.8823547363281, 392.51089096069336], "torch_gpu": [61.10215187072754, 61.16175651550293, 61.098575592041016, 61.10835075378418, 61.119794845581055], "numpy_cpu": [107.13410377502441, 179.901123046875, 108.74271392822266, 143.28360557556152, 107.33819007873535], "numpy_gpu": [188.3537769317627, 108.72316360473633, 145.0631618499756, 127.63094902038574, 108.25228691101074]}, {"N": 16, "C": 10000, "S": 10, "torch_cpu": [7.19141960144043, 7.517814636230469, 7.184028625488281, 6.93058967590332, 7.131099700927734], "torch_gpu": [0.6377696990966797, 0.6308555603027344, 0.6325244903564453, 0.6318092346191406, 0.6268024444580078], "numpy_cpu": [2.6481151580810547, 2.718210220336914, 2.6221275329589844, 2.6602745056152344, 2.726316452026367], "numpy_gpu": [3.0393600463867188, 2.917766571044922, 2.917766571044922, 2.929210662841797, 2.9053688049316406]}, {"N": 16, "C": 10000, "S": 100, "torch_cpu": [7.519721984863281, 7.401704788208008, 7.229089736938477, 8.307695388793945, 7.686853408813477], "torch_gpu": [0.7038116455078125, 0.6999969482421875, 0.7081031799316406, 0.7042884826660156, 0.7035732269287109], "numpy_cpu": [2.8650760650634766, 2.8390884399414062, 2.9077529907226562, 2.8612613677978516, 2.811431884765625], "numpy_gpu": [3.1423568725585938, 3.1616687774658203, 3.0906200408935547, 3.1280517578125, 3.178119659423828]}, {"N": 16, "C": 10000, "S": 1000, "torch_cpu": [12.848615646362305, 12.220382690429688, 12.971878051757812, 12.40682601928711, 12.120962142944336], "torch_gpu": [1.4483928680419922, 1.4472007751464844, 1.4462471008300781, 1.4493465423583984, 1.4407634735107422], "numpy_cpu": [4.725456237792969, 4.719972610473633, 4.746913909912109, 4.71043586730957, 4.729747772216797], "numpy_gpu": [5.089282989501953, 5.049705505371094, 5.037784576416016, 5.059719085693359, 5.048036575317383]}, {"N": 16, "C": 10000, "S": 10000, "torch_cpu": [64.38636779785156, 100.7986068725586, 100.70991516113281, 101.26256942749023, 60.945749282836914], "torch_gpu": [8.910179138183594, 8.913516998291016, 8.912324905395508, 8.927345275878906, 8.893251419067383], "numpy_cpu": [28.056621551513672, 28.081178665161133, 28.0458927154541, 28.218746185302734, 22.07016944885254], "numpy_gpu": [28.57685089111328, 28.603076934814453, 28.578758239746094, 22.638559341430664, 22.595882415771484]}, {"N": 16, "C": 10000, "S": 100000, "torch_cpu": [468.2958126068115, 536.3404750823975, 406.0068130493164, 506.8013668060303, 405.7028293609619], "torch_gpu": [83.38046073913574, 97.43738174438477, 83.37831497192383, 83.3892822265625, 83.4054946899414], "numpy_cpu": [146.81553840637207, 146.51107788085938, 194.6125030517578, 146.4216709136963, 194.47779655456543], "numpy_gpu": [147.96972274780273, 147.98712730407715, 148.30446243286133, 148.21553230285645, 148.756742477417]}, {"N": 16, "C": 100000, "S": 10, "torch_cpu": [71.28643989562988, 66.52307510375977, 67.87848472595215, 133.2535743713379, 133.18419456481934], "torch_gpu": [6.711244583129883, 6.369590759277344, 6.360530853271484, 6.361484527587891, 6.3724517822265625], "numpy_cpu": [18.248796463012695, 18.334627151489258, 18.812894821166992, 19.162893295288086, 19.049644470214844], "numpy_gpu": [19.80733871459961, 19.837617874145508, 19.80900764465332, 20.839929580688477, 20.7364559173584]}, {"N": 16, "C": 100000, "S": 100, "torch_cpu": [134.24992561340332, 68.59564781188965, 113.31057548522949, 109.65681076049805, 99.3194580078125], "torch_gpu": [6.497383117675781, 6.476163864135742, 6.496429443359375, 6.485223770141602, 6.482362747192383], "numpy_cpu": [19.808292388916016, 19.123315811157227, 19.501924514770508, 19.359588623046875, 19.44422721862793], "numpy_gpu": [21.39902114868164, 20.213603973388672, 21.43716812133789, 21.391868591308594, 21.396160125732422]}, {"N": 16, "C": 100000, "S": 1000, "torch_cpu": [101.87482833862305, 100.97384452819824, 115.0503158569336, 111.24205589294434, 102.50377655029297], "torch_gpu": [7.623910903930664, 7.624387741088867, 7.628917694091797, 7.62486457824707, 7.627964019775391], "numpy_cpu": [23.737192153930664, 22.7510929107666, 23.791790008544922, 22.702693939208984, 22.017717361450195], "numpy_gpu": [25.47454833984375, 23.82683753967285, 25.4669189453125, 23.72264862060547, 24.73306655883789]}, {"N": 16, "C": 100000, "S": 10000, "torch_cpu": [186.24281883239746, 139.85109329223633, 120.01585960388184, 120.02420425415039, 139.19687271118164], "torch_gpu": [18.558740615844727, 18.56517791748047, 18.558740615844727, 18.56684684753418, 18.558740615844727], "numpy_cpu": [44.435977935791016, 43.85805130004883, 55.04488945007324, 55.065155029296875, 55.04775047302246], "numpy_gpu": [45.70746421813965, 53.34615707397461, 56.86235427856445, 56.85925483703613, 45.67885398864746]}, {"N": 16, "C": 100000, "S": 100000, "torch_cpu": [595.653772354126, 618.8809871673584, 635.2345943450928, 649.7817039489746, 644.0789699554443], "torch_gpu": [128.3419132232666, 127.92468070983887, 127.99692153930664, 127.95805931091309, 127.96616554260254], "numpy_cpu": [352.6647090911865, 313.48299980163574, 315.17624855041504, 313.2445812225342, 313.72523307800293], "numpy_gpu": [317.7490234375, 353.6062240600586, 319.0929889678955, 317.60454177856445, 316.4551258087158]}, {"N": 32, "C": 10, "S": 10, "torch_cpu": [0.06556510925292969, 0.05269050598144531, 0.0553131103515625, 0.053882598876953125, 0.05221366882324219], "torch_gpu": [0.09226799011230469, 0.06318092346191406, 0.062465667724609375, 0.06580352783203125, 0.05602836608886719], "numpy_cpu": [1.3000965118408203, 1.1224746704101562, 1.1339187622070312, 1.138448715209961, 1.1255741119384766], "numpy_gpu": [1.2118816375732422, 1.2087821960449219, 1.2044906616210938, 1.1937618255615234, 1.2183189392089844]}, {"N": 32, "C": 10, "S": 100, "torch_cpu": [0.3528594970703125, 0.30422210693359375, 0.30350685119628906, 0.3135204315185547, 0.3135204315185547], "torch_gpu": [0.09322166442871094, 0.09846687316894531, 0.09417533874511719, 0.10132789611816406, 0.10275840759277344], "numpy_cpu": [1.2271404266357422, 1.2328624725341797, 1.2238025665283203, 1.2500286102294922, 1.2340545654296875], "numpy_gpu": [1.3208389282226562, 1.3172626495361328, 1.300811767578125, 1.3031959533691406, 1.3005733489990234]}, {"N": 32, "C": 10, "S": 1000, "torch_cpu": [2.779245376586914, 2.8314590454101562, 2.793550491333008, 2.7947425842285156, 3.0012130737304688], "torch_gpu": [0.4482269287109375, 0.44274330139160156, 0.44798851013183594, 0.44727325439453125, 0.4482269287109375], "numpy_cpu": [2.248525619506836, 2.262115478515625, 2.2749900817871094, 2.102375030517578, 2.135753631591797], "numpy_gpu": [2.215147018432617, 2.2864341735839844, 2.2351741790771484, 2.287149429321289, 2.2318363189697266]}, {"N": 32, "C": 10, "S": 10000, "torch_cpu": [28.41043472290039, 27.659893035888672, 27.550935745239258, 27.616262435913086, 27.9996395111084], "torch_gpu": [3.950834274291992, 3.9739608764648438, 3.942251205444336, 3.9505958557128906, 3.9472579956054688], "numpy_cpu": [10.001897811889648, 10.040044784545898, 10.02192497253418, 10.010480880737305, 10.029315948486328], "numpy_gpu": [10.487079620361328, 10.422706604003906, 10.406255722045898, 10.42628288269043, 10.376214981079102]}, {"N": 32, "C": 10, "S": 100000, "torch_cpu": [281.5515995025635, 280.30967712402344, 275.0425338745117, 281.8734645843506, 280.2586555480957], "torch_gpu": [39.18600082397461, 39.05439376831055, 39.113521575927734, 38.964033126831055, 39.217233657836914], "numpy_cpu": [94.39682960510254, 97.59283065795898, 101.8681526184082, 104.4468879699707, 97.4874496459961], "numpy_gpu": [100.34298896789551, 108.37316513061523, 101.63426399230957, 101.98426246643066, 108.18600654602051]}, {"N": 32, "C": 100, "S": 10, "torch_cpu": [0.2288818359375, 0.2467632293701172, 0.23102760314941406, 0.22363662719726562, 0.22363662719726562], "torch_gpu": [0.07557868957519531, 0.08392333984375, 0.07653236389160156, 0.08368492126464844, 0.07462501525878906], "numpy_cpu": [1.4214515686035156, 1.4486312866210938, 1.4276504516601562, 1.5070438385009766, 1.5060901641845703], "numpy_gpu": [1.6834735870361328, 1.5883445739746094, 1.6040802001953125, 1.550912857055664, 1.5270709991455078]}, {"N": 32, "C": 100, "S": 100, "torch_cpu": [0.7803440093994141, 0.7424354553222656, 0.7786750793457031, 0.7462501525878906, 0.7674694061279297], "torch_gpu": [0.1163482666015625, 0.11944770812988281, 0.11849403381347656, 0.12063980102539062, 0.12445449829101562], "numpy_cpu": [1.722097396850586, 1.7235279083251953, 1.6291141510009766, 1.7268657684326172, 1.6541481018066406], "numpy_gpu": [1.7092227935791016, 1.7185211181640625, 1.7986297607421875, 1.7285346984863281, 1.8160343170166016]}, {"N": 32, "C": 100, "S": 1000, "torch_cpu": [5.977630615234375, 6.176233291625977, 5.988597869873047, 6.266117095947266, 6.211042404174805], "torch_gpu": [0.5629062652587891, 0.5481243133544922, 0.5567073822021484, 0.5593299865722656, 0.5590915679931641], "numpy_cpu": [3.671884536743164, 3.743410110473633, 3.783702850341797, 3.663301467895508, 3.6416053771972656], "numpy_gpu": [3.9424896240234375, 3.789186477661133, 3.814697265625, 3.798961639404297, 3.8225650787353516]}, {"N": 32, "C": 100, "S": 10000, "torch_cpu": [60.42742729187012, 58.21847915649414, 58.167457580566406, 58.25376510620117, 63.33804130554199], "torch_gpu": [4.881381988525391, 4.887580871582031, 4.878997802734375, 4.891872406005859, 4.900455474853516], "numpy_cpu": [21.65961265563965, 21.63076400756836, 21.677494049072266, 21.619558334350586, 21.591901779174805], "numpy_gpu": [22.283077239990234, 22.05681800842285, 22.053003311157227, 22.127628326416016, 22.141695022583008]}, {"N": 32, "C": 100, "S": 100000, "torch_cpu": [440.43564796447754, 441.55025482177734, 451.0824680328369, 542.0324802398682, 440.4439926147461], "torch_gpu": [48.258066177368164, 48.15340042114258, 48.247575759887695, 48.19965362548828, 48.20847511291504], "numpy_cpu": [213.67812156677246, 159.91950035095215, 223.74606132507324, 160.16697883605957, 213.6232852935791], "numpy_gpu": [171.1719036102295, 212.9495143890381, 167.9096221923828, 170.5954074859619, 171.00787162780762]}, {"N": 32, "C": 1000, "S": 10, "torch_cpu": [1.5184879302978516, 1.4319419860839844, 1.4476776123046875, 1.443624496459961, 1.432180404663086], "torch_gpu": [0.1354217529296875, 0.1342296600341797, 0.1373291015625, 0.1323223114013672, 0.13446807861328125], "numpy_cpu": [1.9164085388183594, 1.8651485443115234, 1.9347667694091797, 1.9838809967041016, 1.8765926361083984], "numpy_gpu": [2.199888229370117, 2.0940303802490234, 1.9996166229248047, 1.9969940185546875, 2.0661354064941406]}, {"N": 32, "C": 1000, "S": 100, "torch_cpu": [2.1898746490478516, 2.318859100341797, 2.1924972534179688, 2.3474693298339844, 2.2966861724853516], "torch_gpu": [0.18668174743652344, 0.19550323486328125, 0.1862049102783203, 0.1850128173828125, 0.18548965454101562], "numpy_cpu": [2.2497177124023438, 2.1522045135498047, 2.239227294921875, 2.1469593048095703, 2.2487640380859375], "numpy_gpu": [2.3021697998046875, 2.312183380126953, 2.282857894897461, 2.3148059844970703, 2.287149429321289]}, {"N": 32, "C": 1000, "S": 1000, "torch_cpu": [9.675741195678711, 9.732246398925781, 9.728431701660156, 9.697914123535156, 9.690999984741211], "torch_gpu": [0.7410049438476562, 0.7371902465820312, 0.7348060607910156, 0.7338523864746094, 0.7410049438476562], "numpy_cpu": [5.108118057250977, 4.990816116333008, 4.997014999389648, 4.974842071533203, 4.940032958984375], "numpy_gpu": [5.142927169799805, 5.11479377746582, 5.093097686767578, 5.183935165405273, 5.245685577392578]}, {"N": 32, "C": 1000, "S": 10000, "torch_cpu": [84.49649810791016, 110.00895500183105, 116.27316474914551, 99.29060935974121, 87.11123466491699], "torch_gpu": [6.243228912353516, 6.239414215087891, 6.242036819458008, 6.245136260986328, 6.242036819458008], "numpy_cpu": [30.579328536987305, 30.672311782836914, 32.89151191711426, 36.333560943603516, 30.557632446289062], "numpy_gpu": [31.492233276367188, 31.010866165161133, 30.99536895751953, 31.017780303955078, 31.085729598999023]}, {"N": 32, "C": 1000, "S": 100000, "torch_cpu": [649.7132778167725, 649.6014595031738, 649.946928024292, 630.4111480712891, 631.8399906158447], "torch_gpu": [61.310529708862305, 61.22422218322754, 61.2492561340332, 61.25140190124512, 61.21039390563965], "numpy_cpu": [274.01208877563477, 224.78580474853516, 263.41915130615234, 229.12907600402832, 258.6188316345215], "numpy_gpu": [233.8998317718506, 278.3045768737793, 229.18176651000977, 282.4885845184326, 229.05397415161133]}, {"N": 32, "C": 10000, "S": 10, "torch_cpu": [13.389348983764648, 14.400005340576172, 13.978242874145508, 13.951539993286133, 13.383865356445312], "torch_gpu": [0.7047653198242188, 0.6756782531738281, 0.6806850433349609, 0.6816387176513672, 0.6833076477050781], "numpy_cpu": [5.36036491394043, 5.154848098754883, 5.17582893371582, 5.192279815673828, 5.153894424438477], "numpy_gpu": [5.6133270263671875, 5.683660507202148, 5.611419677734375, 5.721569061279297, 5.679607391357422]}, {"N": 32, "C": 10000, "S": 100, "torch_cpu": [15.350580215454102, 14.36758041381836, 14.422416687011719, 14.550924301147461, 14.940738677978516], "torch_gpu": [0.7531642913818359, 0.7517337799072266, 0.7510185241699219, 0.7526874542236328, 0.7572174072265625], "numpy_cpu": [5.634307861328125, 5.647420883178711, 5.546808242797852, 5.504846572875977, 5.526542663574219], "numpy_gpu": [6.001472473144531, 5.978822708129883, 6.090641021728516, 6.030082702636719, 6.093025207519531]}, {"N": 32, "C": 10000, "S": 1000, "torch_cpu": [25.368213653564453, 25.341272354125977, 25.315046310424805, 43.01571846008301, 24.107694625854492], "torch_gpu": [1.5099048614501953, 1.5022754669189453, 1.508951187133789, 1.5196800231933594, 1.5058517456054688], "numpy_cpu": [9.389400482177734, 9.299755096435547, 9.347915649414062, 10.28132438659668, 9.351968765258789], "numpy_gpu": [9.859085083007812, 9.869813919067383, 9.833335876464844, 9.83572006225586, 9.857654571533203]}, {"N": 32, "C": 10000, "S": 10000, "torch_cpu": [120.35036087036133, 109.1609001159668, 115.47183990478516, 117.41757392883301, 121.30951881408691], "torch_gpu": [8.966684341430664, 8.991718292236328, 8.980751037597656, 8.97359848022461, 8.97669792175293], "numpy_cpu": [51.355838775634766, 55.9537410736084, 43.990135192871094, 44.045448303222656, 44.23189163208008], "numpy_gpu": [44.47793960571289, 56.83755874633789, 44.855594635009766, 44.83819007873535, 45.084238052368164]}, {"N": 32, "C": 10000, "S": 100000, "torch_cpu": [868.6895370483398, 870.4442977905273, 825.0837326049805, 902.0905494689941, 823.9233493804932], "torch_gpu": [83.6796760559082, 83.69898796081543, 83.76574516296387, 83.8167667388916, 83.68921279907227], "numpy_cpu": [304.2926788330078, 308.854341506958, 358.74271392822266, 309.59033966064453, 311.9804859161377], "numpy_gpu": [312.96658515930176, 317.69800186157227, 314.6977424621582, 309.3605041503906, 342.27633476257324]}, {"N": 32, "C": 100000, "S": 10, "torch_cpu": [133.1627368927002, 141.4022445678711, 103.08480262756348, 219.55633163452148, 168.11466217041016], "torch_gpu": [7.266044616699219, 6.967306137084961, 6.976127624511719, 6.971836090087891, 6.973505020141602], "numpy_cpu": [36.24844551086426, 36.06104850769043, 30.57074546813965, 27.588844299316406, 38.1159782409668], "numpy_gpu": [38.655996322631836, 39.21866416931152, 37.056922912597656, 31.171083450317383, 41.91160202026367]}, {"N": 32, "C": 100000, "S": 100, "torch_cpu": [199.11670684814453, 108.61873626708984, 103.79934310913086, 110.00847816467285, 102.3402214050293], "torch_gpu": [7.089853286743164, 7.099151611328125, 7.111787796020508, 7.081508636474609, 7.097959518432617], "numpy_cpu": [39.183855056762695, 31.157255172729492, 31.471967697143555, 29.10327911376953, 29.30760383605957], "numpy_gpu": [32.56344795227051, 32.18722343444824, 33.90908241271973, 31.83126449584961, 32.729387283325195]}, {"N": 32, "C": 100000, "S": 1000, "torch_cpu": [113.4033203125, 113.28244209289551, 117.13385581970215, 119.11225318908691, 126.76787376403809], "torch_gpu": [8.265256881713867, 8.275270462036133, 8.300065994262695, 8.272886276245117, 8.267641067504883], "numpy_cpu": [34.792423248291016, 34.79266166687012, 35.25876998901367, 36.626577377319336, 37.00137138366699], "numpy_gpu": [38.491249084472656, 38.1619930267334, 38.307905197143555, 38.53726387023926, 39.58940505981445]}, {"N": 32, "C": 100000, "S": 10000, "torch_cpu": [219.28048133850098, 217.7126407623291, 223.6793041229248, 234.36594009399414, 207.23295211791992], "torch_gpu": [20.078182220458984, 20.068645477294922, 20.085573196411133, 20.09749412536621, 20.07007598876953], "numpy_cpu": [90.81912040710449, 89.00022506713867, 92.34380722045898, 86.8370532989502, 101.05776786804199], "numpy_gpu": [102.58221626281738, 92.36383438110352, 96.30012512207031, 128.36146354675293, 129.17327880859375]}, {"N": 32, "C": 100000, "S": 100000, "torch_cpu": [1182.0189952850342, 1208.495855331421, 1260.087490081787, 1200.8659839630127, 1186.5270137786865], "torch_gpu": [160.21013259887695, 147.31907844543457, 137.85266876220703, 137.9077434539795, 137.93182373046875], "numpy_cpu": [692.0347213745117, 692.8534507751465, 690.9120082855225, 696.1753368377686, 632.0116519927979], "numpy_gpu": [640.4922008514404, 661.7889404296875, 653.0401706695557, 644.7031497955322, 716.2971496582031]}, {"N": 64, "C": 10, "S": 10, "torch_cpu": [0.10776519775390625, 0.09179115295410156, 0.09179115295410156, 0.10156631469726562, 0.09489059448242188], "torch_gpu": [0.07581710815429688, 0.060558319091796875, 0.06866455078125, 0.0705718994140625, 0.0591278076171875], "numpy_cpu": [2.4509429931640625, 2.1491050720214844, 2.1445751190185547, 2.139568328857422, 2.145528793334961], "numpy_gpu": [2.2559165954589844, 2.2058486938476562, 2.1970272064208984, 2.226591110229492, 2.172231674194336]}, {"N": 64, "C": 10, "S": 100, "torch_cpu": [0.6480216979980469, 0.5922317504882812, 0.5910396575927734, 0.5915164947509766, 0.5905628204345703], "torch_gpu": [0.10323524475097656, 0.09775161743164062, 0.09822845458984375, 0.10061264038085938, 0.10538101196289062], "numpy_cpu": [2.373933792114258, 2.326488494873047, 2.3381710052490234, 2.335786819458008, 2.3300647735595703], "numpy_gpu": [2.4285316467285156, 2.366304397583008, 2.3772716522216797, 2.421140670776367, 2.372264862060547]}, {"N": 64, "C": 10, "S": 1000, "torch_cpu": [5.559444427490234, 5.550861358642578, 5.5446624755859375, 5.654573440551758, 5.735158920288086], "torch_gpu": [0.5099773406982422, 0.5104541778564453, 0.5080699920654297, 0.5118846893310547, 0.5080699920654297], "numpy_cpu": [4.320383071899414, 4.143238067626953, 4.080295562744141, 4.137754440307617, 4.123210906982422], "numpy_gpu": [4.270792007446289, 4.301309585571289, 4.238605499267578, 4.301309585571289, 4.272699356079102]}, {"N": 64, "C": 10, "S": 10000, "torch_cpu": [56.88309669494629, 55.220603942871094, 55.38535118103027, 55.18150329589844, 55.09662628173828], "torch_gpu": [4.528284072875977, 4.568815231323242, 4.549980163574219, 4.548788070678711, 4.544496536254883], "numpy_cpu": [22.70340919494629, 19.90652084350586, 20.20740509033203, 20.136356353759766, 19.994735717773438], "numpy_gpu": [20.497560501098633, 20.52450180053711, 20.5230712890625, 20.513296127319336, 20.619869232177734]}, {"N": 64, "C": 10, "S": 100000, "torch_cpu": [569.3135261535645, 568.6812400817871, 563.8940334320068, 566.6587352752686, 564.4676685333252], "torch_gpu": [45.01914978027344, 44.95596885681152, 45.05038261413574, 45.035362243652344, 45.1045036315918], "numpy_cpu": [212.2952938079834, 211.63129806518555, 211.8680477142334, 212.19778060913086, 212.24188804626465], "numpy_gpu": [221.205472946167, 219.4216251373291, 219.71964836120605, 219.70462799072266, 219.82073783874512]}, {"N": 64, "C": 100, "S": 10, "torch_cpu": [0.7789134979248047, 0.7994174957275391, 0.7741451263427734, 0.7729530334472656, 0.7679462432861328], "torch_gpu": [0.13971328735351562, 0.09465217590332031, 0.09560585021972656, 0.09417533874511719, 0.09417533874511719], "numpy_cpu": [4.1828155517578125, 4.2171478271484375, 4.181861877441406, 4.059791564941406, 3.468751907348633], "numpy_gpu": [4.479169845581055, 4.2514801025390625, 4.1866302490234375, 4.239559173583984, 4.29081916809082]}, {"N": 64, "C": 100, "S": 100, "torch_cpu": [1.4622211456298828, 1.516103744506836, 1.5189647674560547, 1.4643669128417969, 1.4615058898925781], "torch_gpu": [0.12421607971191406, 0.12922286987304688, 0.12540817260742188, 0.12373924255371094, 0.13208389282226562], "numpy_cpu": [3.1392574310302734, 3.1867027282714844, 3.1447410583496094, 3.233671188354492, 3.263235092163086], "numpy_gpu": [3.317594528198242, 3.2765865325927734, 3.3006668090820312, 3.2782554626464844, 3.276824951171875]}, {"N": 64, "C": 100, "S": 1000, "torch_cpu": [12.001991271972656, 11.99030876159668, 11.987924575805664, 12.010812759399414, 11.986970901489258], "torch_gpu": [0.6203651428222656, 0.6191730499267578, 0.6208419799804688, 0.6237030029296875, 0.6165504455566406], "numpy_cpu": [7.282733917236328, 7.227659225463867, 7.222414016723633, 7.182598114013672, 7.151126861572266], "numpy_gpu": [7.367372512817383, 7.325887680053711, 7.429599761962891, 7.376909255981445, 7.407665252685547]}, {"N": 64, "C": 100, "S": 10000, "torch_cpu": [134.64832305908203, 113.85917663574219, 164.12973403930664, 130.509614944458, 163.40374946594238], "torch_gpu": [5.563259124755859, 5.550622940063477, 5.554676055908203, 5.569219589233398, 5.572795867919922], "numpy_cpu": [58.08854103088379, 43.76721382141113, 57.68847465515137, 58.15267562866211, 32.79852867126465], "numpy_gpu": [51.44071578979492, 43.897151947021484, 33.435821533203125, 58.9907169342041, 58.98284912109375]}, {"N": 64, "C": 100, "S": 100000, "torch_cpu": [920.4657077789307, 1004.2624473571777, 966.2268161773682, 916.7532920837402, 937.2529983520508], "torch_gpu": [54.87656593322754, 55.08685111999512, 54.94332313537598, 54.89349365234375, 54.923295974731445], "numpy_cpu": [360.5170249938965, 348.2522964477539, 337.054967880249, 337.5964164733887, 337.4943733215332], "numpy_gpu": [351.64713859558105, 349.26342964172363, 344.96116638183594, 394.0768241882324, 345.12805938720703]}, {"N": 64, "C": 1000, "S": 10, "torch_cpu": [2.9540061950683594, 2.8564929962158203, 2.8526782989501953, 2.86865234375, 2.8553009033203125], "torch_gpu": [0.15854835510253906, 0.1354217529296875, 0.13256072998046875, 0.13756752014160156, 0.1342296600341797], "numpy_cpu": [3.8270950317382812, 3.6399364471435547, 3.6301612854003906, 3.721475601196289, 3.7059783935546875], "numpy_gpu": [3.836393356323242, 3.885507583618164, 3.9055347442626953, 3.8275718688964844, 3.816366195678711]}, {"N": 64, "C": 1000, "S": 100, "torch_cpu": [4.35948371887207, 4.402637481689453, 4.38237190246582, 4.358768463134766, 4.63557243347168], "torch_gpu": [0.1971721649169922, 0.19669532775878906, 0.19669532775878906, 0.2009868621826172, 0.19502639770507812], "numpy_cpu": [4.207372665405273, 4.2438507080078125, 4.183053970336914, 4.335880279541016, 4.234552383422852], "numpy_gpu": [4.439592361450195, 4.357337951660156, 4.422187805175781, 4.39763069152832, 4.3659210205078125]}, {"N": 64, "C": 1000, "S": 1000, "torch_cpu": [19.442319869995117, 19.43206787109375, 20.17498016357422, 19.394397735595703, 20.114660263061523], "torch_gpu": [0.8537769317626953, 0.8525848388671875, 0.8440017700195312, 0.8556842803955078, 0.8437633514404297], "numpy_cpu": [9.850025177001953, 9.827852249145508, 9.828805923461914, 9.777307510375977, 9.748220443725586], "numpy_gpu": [10.025978088378906, 10.007143020629883, 9.990215301513672, 10.032892227172852, 10.045766830444336]}, {"N": 64, "C": 1000, "S": 10000, "torch_cpu": [205.9786319732666, 188.10701370239258, 143.64910125732422, 146.1637020111084, 169.12102699279785], "torch_gpu": [7.365942001342773, 7.381916046142578, 7.372140884399414, 7.377386093139648, 7.393121719360352], "numpy_cpu": [46.1270809173584, 47.47605323791504, 61.23495101928711, 61.22708320617676, 46.37002944946289], "numpy_gpu": [47.567129135131836, 48.69198799133301, 61.933040618896484, 62.658071517944336, 56.14638328552246]}, {"N": 64, "C": 1000, "S": 100000, "torch_cpu": [1269.4323062896729, 1306.0338497161865, 1269.7443962097168, 1379.7669410705566, 1296.311855316162], "torch_gpu": [72.64924049377441, 72.65210151672363, 72.65138626098633, 72.66974449157715, 72.78871536254883], "numpy_cpu": [516.4608955383301, 497.8032112121582, 475.69894790649414, 484.1783046722412, 482.0840358734131], "numpy_gpu": [473.79207611083984, 474.12848472595215, 505.36465644836426, 490.16737937927246, 536.6649627685547]}, {"N": 64, "C": 10000, "S": 10, "torch_cpu": [27.124881744384766, 26.799678802490234, 26.8399715423584, 26.790857315063477, 27.161598205566406], "torch_gpu": [0.7669925689697266, 0.7393360137939453, 0.7264614105224609, 0.7295608520507812, 0.7274150848388672], "numpy_cpu": [10.134220123291016, 10.09511947631836, 10.090351104736328, 10.056018829345703, 10.085821151733398], "numpy_gpu": [11.159896850585938, 10.930538177490234, 10.919332504272461, 10.930299758911133, 10.92839241027832]}, {"N": 64, "C": 10000, "S": 100, "torch_cpu": [28.759002685546875, 30.70378303527832, 28.89227867126465, 28.666973114013672, 30.71284294128418], "torch_gpu": [0.8339881896972656, 0.8356571197509766, 0.8494853973388672, 0.8378028869628906, 0.8373260498046875], "numpy_cpu": [10.86115837097168, 10.879993438720703, 10.838985443115234, 10.857343673706055, 10.815858840942383], "numpy_gpu": [11.702537536621094, 11.680364608764648, 11.714696884155273, 11.724472045898438, 11.70802116394043]}, {"N": 64, "C": 10000, "S": 1000, "torch_cpu": [48.040151596069336, 47.93047904968262, 51.03611946105957, 47.90234565734863, 47.969818115234375], "torch_gpu": [1.800537109375, 1.8184185028076172, 1.8177032470703125, 1.7952919006347656, 1.8160343170166016], "numpy_cpu": [18.427371978759766, 18.404245376586914, 18.489599227905273, 18.435239791870117, 18.436431884765625], "numpy_gpu": [19.385337829589844, 19.407033920288086, 19.353628158569336, 19.390344619750977, 19.377946853637695]}, {"N": 64, "C": 10000, "S": 10000, "torch_cpu": [216.67003631591797, 189.79525566101074, 230.22866249084473, 216.4328098297119, 239.3796443939209], "torch_gpu": [10.789871215820312, 10.735511779785156, 10.78033447265625, 10.720491409301758, 10.764837265014648], "numpy_cpu": [67.70443916320801, 87.73612976074219, 67.2600269317627, 111.93060874938965, 66.40267372131348], "numpy_gpu": [90.423583984375, 89.21146392822266, 69.55289840698242, 67.65437126159668, 70.61767578125]}, {"N": 64, "C": 10000, "S": 100000, "torch_cpu": [1653.2084941864014, 1640.1455402374268, 1645.5938816070557, 1651.2317657470703, 1644.7839736938477], "torch_gpu": [120.54681777954102, 107.50436782836914, 103.73044013977051, 100.45266151428223, 100.31437873840332], "numpy_cpu": [625.065803527832, 624.1805553436279, 647.4361419677734, 673.0279922485352, 624.2005825042725], "numpy_gpu": [695.2223777770996, 690.7799243927002, 632.0679187774658, 636.4443302154541, 666.7237281799316]}, {"N": 64, "C": 100000, "S": 10, "torch_cpu": [206.53653144836426, 244.48251724243164, 226.8047332763672, 248.32391738891602, 226.84383392333984], "torch_gpu": [7.590770721435547, 7.161855697631836, 7.1582794189453125, 7.153511047363281, 7.166862487792969], "numpy_cpu": [72.2196102142334, 72.21269607543945, 55.22727966308594, 56.04076385498047, 55.21750450134277], "numpy_gpu": [89.30087089538574, 70.45984268188477, 89.4625186920166, 70.30439376831055, 89.29014205932617]}, {"N": 64, "C": 100000, "S": 100, "torch_cpu": [228.04522514343262, 207.3664665222168, 226.11236572265625, 229.98356819152832, 229.9365997314453], "torch_gpu": [7.311582565307617, 7.333278656005859, 7.312774658203125, 7.335662841796875, 7.309675216674805], "numpy_cpu": [56.32424354553223, 74.33676719665527, 56.78272247314453, 73.69017601013184, 73.65989685058594], "numpy_gpu": [90.73233604431152, 90.91019630432129, 90.76571464538574, 71.85482978820801, 71.51126861572266]}, {"N": 64, "C": 100000, "S": 1000, "torch_cpu": [221.3435173034668, 221.30060195922852, 247.86019325256348, 233.7033748626709, 221.49181365966797], "torch_gpu": [8.9569091796875, 8.93712043762207, 8.90970230102539, 8.933782577514648, 8.921623229980469], "numpy_cpu": [87.53633499145508, 87.55350112915039, 87.53228187561035, 88.27733993530273, 88.24515342712402], "numpy_gpu": [104.6602725982666, 103.35850715637207, 83.24027061462402, 104.71367835998535, 104.8583984375]}, {"N": 64, "C": 100000, "S": 10000, "torch_cpu": [414.6850109100342, 481.7047119140625, 436.20824813842773, 467.55146980285645, 414.5219326019287], "torch_gpu": [23.835420608520508, 24.584293365478516, 24.636507034301758, 24.53780174255371, 24.108409881591797], "numpy_cpu": [214.60676193237305, 174.54028129577637, 174.8518943786621, 174.44849014282227, 174.24941062927246], "numpy_gpu": [190.7200813293457, 190.0484561920166, 230.58152198791504, 189.95285034179688, 225.20947456359863]}, {"N": 64, "C": 100000, "S": 100000, "torch_cpu": [2361.867904663086, 2408.8222980499268, 2411.3073348999023, 2459.817886352539, 2456.594228744507], "torch_gpu": [174.11184310913086, 173.81000518798828, 172.92141914367676, 173.63667488098145, 174.19815063476562], "numpy_cpu": [1270.768404006958, 1295.9837913513184, 1270.8959579467773, 1318.8152313232422, 1285.529375076294], "numpy_gpu": [1339.278221130371, 1293.062448501587, 1299.0055084228516, 1295.7708835601807, 1294.8963642120361]}, {"N": 128, "C": 10, "S": 10, "torch_cpu": [0.1990795135498047, 0.16999244689941406, 0.171661376953125, 0.171661376953125, 0.17070770263671875], "torch_gpu": [0.10609626770019531, 0.06341934204101562, 0.06341934204101562, 0.058650970458984375, 0.06723403930664062], "numpy_cpu": [4.373788833618164, 4.161357879638672, 4.162073135375977, 4.132509231567383, 4.1656494140625], "numpy_gpu": [4.183292388916016, 4.225015640258789, 4.190683364868164, 4.231452941894531, 4.258632659912109]}, {"N": 128, "C": 10, "S": 100, "torch_cpu": [1.1675357818603516, 1.1758804321289062, 1.1703968048095703, 1.1682510375976562, 1.1670589447021484], "torch_gpu": [0.11277198791503906, 0.11610984802246094, 0.11873245239257812, 0.1163482666015625, 0.11539459228515625], "numpy_cpu": [4.494428634643555, 4.516124725341797, 4.541158676147461, 4.552602767944336, 4.509687423706055], "numpy_gpu": [4.67371940612793, 4.621744155883789, 4.615306854248047, 4.661083221435547, 4.595041275024414]}, {"N": 128, "C": 10, "S": 1000, "torch_cpu": [11.581659317016602, 11.100530624389648, 11.136293411254883, 11.088848114013672, 11.085033416748047], "torch_gpu": [0.6551742553710938, 0.6608963012695312, 0.6544589996337891, 0.6597042083740234, 0.6504058837890625], "numpy_cpu": [8.090019226074219, 8.125543594360352, 8.090734481811523, 8.106231689453125, 8.116722106933594], "numpy_gpu": [8.558034896850586, 8.322000503540039, 8.368253707885742, 8.311033248901367, 8.341789245605469]}, {"N": 128, "C": 10, "S": 10000, "torch_cpu": [110.13197898864746, 110.21232604980469, 110.2743148803711, 112.27679252624512, 110.23235321044922], "torch_gpu": [6.090879440307617, 6.068944931030273, 6.084203720092773, 6.067752838134766, 6.066799163818359], "numpy_cpu": [39.626359939575195, 39.716243743896484, 41.71013832092285, 39.61014747619629, 39.59155082702637], "numpy_gpu": [45.26972770690918, 40.85874557495117, 41.005849838256836, 40.74406623840332, 40.621280670166016]}, {"N": 128, "C": 10, "S": 100000, "torch_cpu": [1139.4507884979248, 1138.791799545288, 1138.7372016906738, 1171.186923980713, 1139.9731636047363], "torch_gpu": [60.09960174560547, 56.37931823730469, 56.356191635131836, 56.38265609741211, 56.45751953125], "numpy_cpu": [454.61583137512207, 456.18748664855957, 456.5615653991699, 457.70835876464844, 457.8051567077637], "numpy_gpu": [475.6617546081543, 473.9034175872803, 474.95555877685547, 472.48172760009766, 473.85382652282715]}, {"N": 128, "C": 100, "S": 10, "torch_cpu": [0.7970333099365234, 0.7443428039550781, 0.7433891296386719, 0.7431507110595703, 0.7512569427490234], "torch_gpu": [0.08249282836914062, 0.07724761962890625, 0.08320808410644531, 0.07939338684082031, 0.080108642578125], "numpy_cpu": [5.131006240844727, 5.053520202636719, 5.104541778564453, 5.067110061645508, 5.050420761108398], "numpy_gpu": [5.393743515014648, 5.132198333740234, 5.201578140258789, 5.159854888916016, 5.274772644042969]}, {"N": 128, "C": 100, "S": 100, "torch_cpu": [2.910614013671875, 2.916097640991211, 2.969980239868164, 2.907276153564453, 2.918243408203125], "torch_gpu": [0.1468658447265625, 0.14257431030273438, 0.14066696166992188, 0.14257431030273438, 0.14972686767578125], "numpy_cpu": [6.200075149536133, 6.207466125488281, 6.0863494873046875, 6.095170974731445, 6.1779022216796875], "numpy_gpu": [6.209135055541992, 6.223440170288086, 6.189823150634766, 6.305456161499023, 6.2618255615234375]}, {"N": 128, "C": 100, "S": 1000, "torch_cpu": [24.053096771240234, 23.9102840423584, 23.89240264892578, 23.879528045654297, 23.868322372436523], "torch_gpu": [0.7848739624023438, 0.7791519165039062, 0.7851123809814453, 0.7843971252441406, 0.7750988006591797], "numpy_cpu": [14.21809196472168, 14.070749282836914, 14.036178588867188, 14.170408248901367, 14.083385467529297], "numpy_gpu": [14.347076416015625, 14.326333999633789, 14.435768127441406, 14.358758926391602, 14.413833618164062]}, {"N": 128, "C": 100, "S": 10000, "torch_cpu": [177.0327091217041, 178.9870262145996, 200.68860054016113, 179.01086807250977, 200.8512020111084], "torch_gpu": [7.0953369140625, 7.126569747924805, 7.100343704223633, 7.121086120605469, 7.113218307495117], "numpy_cpu": [89.15352821350098, 86.23361587524414, 65.67645072937012, 86.21764183044434, 86.30609512329102], "numpy_gpu": [93.43147277832031, 87.69869804382324, 87.48865127563477, 87.56756782531738, 66.68257713317871]}, {"N": 128, "C": 100, "S": 100000, "torch_cpu": [1783.0884456634521, 1781.8195819854736, 1782.3264598846436, 1889.045000076294, 1829.7438621520996], "torch_gpu": [70.39022445678711, 70.41168212890625, 65.4304027557373, 65.44184684753418, 65.32073020935059], "numpy_cpu": [707.5150012969971, 709.9423408508301, 708.9781761169434, 709.1400623321533, 708.7304592132568], "numpy_gpu": [765.7151222229004, 757.7862739562988, 772.5443840026855, 723.5076427459717, 726.6643047332764]}, {"N": 128, "C": 1000, "S": 10, "torch_cpu": [5.725622177124023, 5.685329437255859, 5.733489990234375, 5.747795104980469, 5.708932876586914], "torch_gpu": [0.1437664031982422, 0.1392364501953125, 0.14281272888183594, 0.14400482177734375, 0.1366138458251953], "numpy_cpu": [7.269382476806641, 7.219076156616211, 7.086277008056641, 7.1125030517578125, 7.296323776245117], "numpy_gpu": [7.372617721557617, 7.481575012207031, 7.464408874511719, 7.45081901550293, 7.377862930297852]}, {"N": 128, "C": 1000, "S": 100, "torch_cpu": [8.774280548095703, 8.740663528442383, 8.746623992919922, 9.084224700927734, 8.785724639892578], "torch_gpu": [0.22101402282714844, 0.2148151397705078, 0.22172927856445312, 0.21576881408691406, 0.22029876708984375], "numpy_cpu": [8.287668228149414, 8.33582878112793, 8.241891860961914, 8.26406478881836, 8.2244873046875], "numpy_gpu": [8.491992950439453, 8.51297378540039, 8.591890335083008, 8.524417877197266, 8.621692657470703]}, {"N": 128, "C": 1000, "S": 1000, "torch_cpu": [38.65671157836914, 40.015220642089844, 39.127349853515625, 40.01045227050781, 38.72394561767578], "torch_gpu": [1.0025501251220703, 1.004934310913086, 1.0030269622802734, 1.0068416595458984, 1.0042190551757812], "numpy_cpu": [19.67477798461914, 19.53744888305664, 19.3631649017334, 19.445419311523438, 19.392967224121094], "numpy_gpu": [19.832611083984375, 19.823789596557617, 20.116806030273438, 19.861936569213867, 19.81949806213379]}, {"N": 128, "C": 1000, "S": 10000, "torch_cpu": [303.88689041137695, 272.6752758026123, 253.60822677612305, 279.9971103668213, 253.814697265625], "torch_gpu": [8.890151977539062, 8.855581283569336, 8.851766586303711, 8.862495422363281, 8.836507797241211], "numpy_cpu": [96.49300575256348, 122.53260612487793, 122.3607063293457, 123.08597564697266, 122.32208251953125], "numpy_gpu": [96.76957130432129, 93.57881546020508, 111.62233352661133, 93.78385543823242, 109.92598533630371]}, {"N": 128, "C": 1000, "S": 100000, "torch_cpu": [2538.9959812164307, 2538.602352142334, 2586.44437789917, 2586.437463760376, 2565.807580947876], "torch_gpu": [87.38231658935547, 83.63723754882812, 100.55208206176758, 90.44098854064941, 88.57059478759766], "numpy_cpu": [1012.9168033599854, 970.3524112701416, 973.3841419219971, 972.1508026123047, 971.0211753845215], "numpy_gpu": [986.7706298828125, 1013.8149261474609, 982.2180271148682, 982.2185039520264, 984.0075969696045]}, {"N": 128, "C": 10000, "S": 10, "torch_cpu": [53.65133285522461, 53.879737854003906, 53.84016036987305, 53.66873741149902, 53.80368232727051], "torch_gpu": [0.8261203765869141, 0.8118152618408203, 0.8032321929931641, 0.8065700531005859, 0.804901123046875], "numpy_cpu": [20.268917083740234, 20.230531692504883, 20.23005485534668, 20.26987075805664, 20.252466201782227], "numpy_gpu": [21.732330322265625, 23.99444580078125, 21.630048751831055, 21.70538902282715, 21.724462509155273]}, {"N": 128, "C": 10000, "S": 100, "torch_cpu": [57.69205093383789, 57.4948787689209, 57.94095993041992, 57.733774185180664, 57.465553283691406], "torch_gpu": [0.9520053863525391, 0.9469985961914062, 0.9443759918212891, 0.9551048278808594, 0.9529590606689453], "numpy_cpu": [23.609161376953125, 22.109508514404297, 21.90113067626953, 21.93737030029297, 22.00007438659668], "numpy_gpu": [23.23317527770996, 23.552894592285156, 23.467540740966797, 23.428916931152344, 23.330211639404297]}, {"N": 128, "C": 10000, "S": 1000, "torch_cpu": [95.93009948730469, 95.90482711791992, 95.97373008728027, 96.02165222167969, 96.0702896118164], "torch_gpu": [2.2797584533691406, 2.264738082885742, 2.251863479614258, 2.259969711303711, 2.2916793823242188], "numpy_cpu": [37.07766532897949, 37.0173454284668, 37.11581230163574, 37.02592849731445, 37.02211380004883], "numpy_gpu": [39.11447525024414, 38.698673248291016, 38.64479064941406, 38.67769241333008, 38.64884376525879]}, {"N": 128, "C": 10000, "S": 10000, "torch_cpu": [374.90248680114746, 380.5358409881592, 423.45499992370605, 410.297155380249, 360.48269271850586], "torch_gpu": [14.876127243041992, 14.858007431030273, 14.913082122802734, 14.894962310791016, 14.93382453918457], "numpy_cpu": [181.66327476501465, 133.17298889160156, 133.32176208496094, 133.35847854614258, 133.9707374572754], "numpy_gpu": [139.30201530456543, 184.5095157623291, 135.5292797088623, 136.09695434570312, 178.61175537109375]}, {"N": 128, "C": 10000, "S": 100000, "torch_cpu": [3290.1883125305176, 3404.6638011932373, 3303.8229942321777, 3308.544635772705, 3289.161205291748], "torch_gpu": [138.96918296813965, 139.4510269165039, 139.2676830291748, 139.4789218902588, 156.86440467834473], "numpy_cpu": [1291.8202877044678, 1336.7626667022705, 1286.0617637634277, 1285.008430480957, 1287.719488143921], "numpy_gpu": [1308.8297843933105, 1305.2701950073242, 1302.6015758514404, 1308.0506324768066, 1355.0705909729004]}, {"N": 128, "C": 100000, "S": 10, "torch_cpu": [428.7140369415283, 415.53592681884766, 450.87671279907227, 410.8285903930664, 408.9381694793701], "torch_gpu": [7.781028747558594, 7.755041122436523, 7.7915191650390625, 7.791280746459961, 7.795572280883789], "numpy_cpu": [112.60342597961426, 146.4674472808838, 114.39871788024902, 146.48151397705078, 146.4536190032959], "numpy_gpu": [180.82737922668457, 142.91787147521973, 143.15366744995117, 143.12267303466797, 142.98343658447266]}, {"N": 128, "C": 100000, "S": 100, "torch_cpu": [452.5620937347412, 469.8596000671387, 430.56392669677734, 406.5887928009033, 451.6410827636719], "torch_gpu": [7.928609848022461, 7.945537567138672, 7.982730865478516, 7.985830307006836, 7.988929748535156], "numpy_cpu": [116.78528785705566, 115.07487297058105, 116.73331260681152, 115.10610580444336, 116.97244644165039], "numpy_gpu": [146.21806144714355, 146.7142105102539, 183.8366985321045, 183.73990058898926, 145.6584930419922]}, {"N": 128, "C": 100000, "S": 1000, "torch_cpu": [491.9848442077637, 448.55308532714844, 444.1399574279785, 491.5153980255127, 474.9605655670166], "torch_gpu": [9.82666015625, 9.734153747558594, 9.840250015258789, 9.757041931152344, 9.818315505981445], "numpy_cpu": [140.40589332580566, 177.54316329956055, 177.61945724487305, 140.0754451751709, 140.19012451171875], "numpy_gpu": [168.92671585083008, 168.9908504486084, 168.53594779968262, 169.49701309204102, 207.1540355682373]}, {"N": 128, "C": 100000, "S": 10000, "torch_cpu": [842.1111106872559, 838.3743762969971, 886.2209320068359, 932.6066970825195, 882.4272155761719], "torch_gpu": [27.5728702545166, 27.24456787109375, 27.328014373779297, 27.341842651367188, 27.355194091796875], "numpy_cpu": [400.8190631866455, 393.5568332672119, 356.5247058868408, 356.58955574035645, 356.1897277832031], "numpy_gpu": [386.68084144592285, 385.9896659851074, 386.77453994750977, 387.8495693206787, 386.61646842956543]}, {"N": 128, "C": 100000, "S": 100000, "torch_cpu": [5302.083253860474, 5321.915626525879, 5296.855449676514, 4928.846836090088, 4881.524085998535], "torch_gpu": [202.02398300170898, 197.65233993530273, 220.7012176513672, 197.50571250915527, 197.2336769104004], "numpy_cpu": [2626.5392303466797, 2648.045063018799, 2625.4453659057617, 2624.1090297698975, 2661.0798835754395], "numpy_gpu": [2659.7719192504883, 2666.538953781128, 2703.8230895996094, 2702.3725509643555, 2666.501760482788]}] --------------------------------------------------------------------------------