Params:
- num_inputs=3
- num_input_rows=200
- num_input_cols=5
- num_prods=125
- num_ops=10
- num_runs=50

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

-----------------------
InferenceType: MARGINAL
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20391     8778.65          207.75           3.73       True
       products 15431     7141.83          173.45           5.25       True
  perm_products   441      211.17            7.37           2.43       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20391     9226.33          445.70          10.15       True
       products 15431     6933.36          178.55           6.83       True
  perm_products   441      226.81            6.66           1.21       True

-----------------------
InferenceType: MARGINAL-LOG
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20551     9461.78          240.37           4.10       True
       products 15591     7246.27          175.19           5.60       True
  perm_products   601      280.89            8.88           3.60       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20551     9306.45          328.17          10.89       True
       products 15591     6986.20          172.64           6.97       True
  perm_products   601      329.56            8.81           1.52       True

-----------------------
InferenceType: MPE
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20391     9165.52          210.12           4.15       True
       products 15431     7203.31          175.58           5.49       True
  perm_products   441      209.08            7.12           3.71       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20391     9250.84          220.88          11.43       True
       products 15431     6890.04          179.52           6.45       True
  perm_products   441      247.92            6.71           1.34       True

-----------------------
InferenceType: MPE-LOG
-----------------------
CPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20431     9336.43          212.29           4.09       True
       products 15471     7175.90          175.75           5.59       True
  perm_products   481      216.39            9.36           2.53       True
GPU          op  size  setup_time  first_run_time  rest_run_time    correct
        product 20431     9337.14          227.07           9.92       True
       products 15471     6936.19          183.78           6.66       True
  perm_products   481      290.09            7.55           1.07       True
