Params:
- num_inputs=2
- num_input_rows=200
- num_input_cols=10
- num_prods=100
- num_ops=10
- num_runs=50

Running tests:
--> product: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=False
--> product: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=False
--> perm_products: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=False
--> perm_products: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=False
--> product: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=True
--> product: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=True
--> perm_products: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=True
--> perm_products: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MARGINAL, log=True
--> product: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=False
--> product: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=False
--> perm_products: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=False
--> perm_products: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=False
--> product: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=True
--> product: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=True
--> perm_products: on_gpu=False, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=True
--> perm_products: on_gpu=True, num_inputs=2, inputs_shape=(200, 10), inference=MPE, log=True

-----------------------
InferenceType: MARGINAL
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     6759.09           47.39           0.73       True
  perm_products   260      645.59            2.85           1.15       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     6820.34          178.69           2.25       True
  perm_products   260      425.17            3.21           0.60       True

-----------------------
InferenceType: MARGINAL-LOG
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8340     6869.88           45.97           1.22       True
  perm_products   410      465.89            4.12           1.50       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8340     7102.03           49.26           2.17       True
  perm_products   410      736.30            3.82           0.72       True

-----------------------
InferenceType: MPE
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     6769.63           53.28           0.84       True
  perm_products   260      365.74            3.18           1.34       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     6923.38           52.90           2.10       True
  perm_products   260      363.53            3.37           0.63       True

-----------------------
InferenceType: MPE-LOG
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8220     6947.69           45.66           0.85       True
  perm_products   290      643.81            3.02           1.24       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8220     6769.49           49.05           2.15       True
  perm_products   290      440.36            3.45           0.63       True
