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     6851.90           44.67           0.75       True
  perm_products   340      658.15            3.25           1.12       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     6726.47          166.54           2.26       True
  perm_products   340      464.90            3.90           0.56       True

-----------------------
InferenceType: MARGINAL-LOG
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8340     6640.29           46.92           1.15       True
  perm_products   490      502.84            4.23           1.53       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8340     6731.08           46.06           2.09       True
  perm_products   490      498.01            4.46           0.70       True

-----------------------
InferenceType: MPE
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     6876.79           48.49           0.84       True
  perm_products   340      738.04            3.46           1.22       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8190     7179.33           61.18           2.40       True
  perm_products   340      470.11            3.87           0.67       True

-----------------------
InferenceType: MPE-LOG
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8220     7201.60           46.55           0.83       True
  perm_products   370      719.76            3.28           1.22       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product  8220     7071.58           49.52           2.15       True
  perm_products   370      504.62            4.03           0.66       True
