diff --git a/hpvm/test/hpvm-cava/src/cam-vision-native b/hpvm/test/hpvm-cava/src/cam-vision-native
deleted file mode 100755
index 938e1b1a15d86e71b9b044e594472dad10fd9bc2..0000000000000000000000000000000000000000
Binary files a/hpvm/test/hpvm-cava/src/cam-vision-native and /dev/null differ
diff --git a/hpvm/test/hpvm-cava/src/cam_pipe.c b/hpvm/test/hpvm-cava/src/cam_pipe.c
deleted file mode 100644
index cdeaf393320121706d13d423212896e2551142c8..0000000000000000000000000000000000000000
--- a/hpvm/test/hpvm-cava/src/cam_pipe.c
+++ /dev/null
@@ -1,144 +0,0 @@
-#include "cam_pipe_utility.h"
-#include "dma_interface.h"
-#include "load_cam_model.h"
-#include "pipe_stages.h"
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef DMA_MODE
-#include "gem5_harness.h"
-#endif
-
-// FIXME: Include gem5/dma_interface.cc/h separately
-#ifndef DMA_INTERFACE_V3
-#define DMA_INTERFACE_V3
-#endif // DMA_INTERFACE_V3
-
-///////////////////////////////////////////////////////////////
-// Camera Model Parameters
-///////////////////////////////////////////////////////////////
-
-// Path to the camera model to be used
-char cam_model_path[100];
-
-// White balance index (select white balance from transform file)
-// The first white balance in the file has a wb_index of 1
-// For more information on model format see the readme
-int wb_index = 6;
-
-// Number of control points
-int num_ctrl_pts = 3702;
-
-void load_cam_params_hw(float *host_TsTw, float *host_ctrl_pts,
-                        float *host_weights, float *host_coefs,
-                        float *host_tone_map, float *acc_TsTw,
-                        float *acc_ctrl_pts, float *acc_weights,
-                        float *acc_coefs, float *acc_tone_map) {
-  dmaLoad(acc_TsTw, host_TsTw, 9 * sizeof(float));
-  dmaLoad(acc_ctrl_pts, host_ctrl_pts,
-          num_ctrl_pts * CHAN_SIZE * sizeof(float));
-  dmaLoad(acc_weights, host_weights, num_ctrl_pts * CHAN_SIZE * sizeof(float));
-  dmaLoad(acc_coefs, host_coefs, 4 * CHAN_SIZE * sizeof(float));
-  dmaLoad(acc_tone_map, host_tone_map, 256 * CHAN_SIZE * sizeof(float));
-}
-
-void isp_hw(uint8_t *host_input, uint8_t *host_result, int row_size,
-            int col_size, uint8_t *acc_input, uint8_t *acc_result,
-            float *acc_input_scaled, float *acc_result_scaled, float *acc_TsTw,
-            float *acc_ctrl_pts, float *acc_weights, float *acc_coefs,
-            float *acc_tone_map, float *acc_l2_dist) {
-  dmaLoad(acc_input, host_input,
-          row_size * col_size * CHAN_SIZE * sizeof(uint8_t));
-  scale_fxp(acc_input, row_size, col_size, acc_input_scaled);
-  demosaic_fxp(acc_input_scaled, row_size, col_size, acc_result_scaled);
-  denoise_fxp(acc_result_scaled, row_size, col_size, acc_input_scaled);
-  transform_fxp(acc_input_scaled, row_size, col_size, acc_result_scaled,
-                acc_TsTw);
-  gamut_map_fxp(acc_result_scaled, row_size, col_size, acc_input_scaled,
-                acc_ctrl_pts, acc_weights, acc_coefs, acc_l2_dist);
-  tone_map_fxp(acc_input_scaled, row_size, col_size, acc_tone_map,
-               acc_result_scaled);
-  // tone_map_approx_fxp(acc_input_scaled, row_size, col_size,
-  // acc_result_scaled);
-  descale_fxp(acc_result_scaled, row_size, col_size, acc_result);
-  dmaStore(host_result, acc_result,
-           row_size * col_size * CHAN_SIZE * sizeof(uint8_t));
-}
-
-void cam_pipe(uint8_t *host_input, uint8_t *host_result, int row_size,
-              int col_size) {
-  uint8_t *acc_input, *acc_result;
-  float *acc_input_scaled, *acc_result_scaled;
-  float *host_TsTw, *host_ctrl_pts, *host_weights, *host_coefs, *host_tone_map;
-  float *acc_TsTw, *acc_ctrl_pts, *acc_weights, *acc_coefs, *acc_tone_map,
-      *acc_l2_dist;
-
-  strcat(cam_model_path, "cam_models/NikonD7000/");
-
-  host_TsTw = get_TsTw(cam_model_path, wb_index);
-  float *trans = transpose_mat(host_TsTw, CHAN_SIZE, CHAN_SIZE);
-  free(host_TsTw);
-  host_TsTw = trans;
-  host_ctrl_pts = get_ctrl_pts(cam_model_path, num_ctrl_pts);
-  host_weights = get_weights(cam_model_path, num_ctrl_pts);
-  host_coefs = get_coefs(cam_model_path, num_ctrl_pts);
-  host_tone_map = get_tone_map(cam_model_path);
-
-  acc_input = (uint8_t *)malloc_aligned(sizeof(uint8_t) * row_size * col_size *
-                                        CHAN_SIZE);
-  acc_result = (uint8_t *)malloc_aligned(sizeof(uint8_t) * row_size * col_size *
-                                         CHAN_SIZE);
-  acc_input_scaled =
-      (float *)malloc_aligned(sizeof(float) * row_size * col_size * CHAN_SIZE);
-  acc_result_scaled =
-      (float *)malloc_aligned(sizeof(float) * row_size * col_size * CHAN_SIZE);
-  acc_TsTw = (float *)malloc_aligned(sizeof(float) * 9);
-  acc_ctrl_pts =
-      (float *)malloc_aligned(sizeof(float) * num_ctrl_pts * CHAN_SIZE);
-  acc_weights =
-      (float *)malloc_aligned(sizeof(float) * num_ctrl_pts * CHAN_SIZE);
-  acc_coefs = (float *)malloc_aligned(sizeof(float) * 12);
-  acc_tone_map = (float *)malloc_aligned(sizeof(float) * 256 * CHAN_SIZE);
-  acc_l2_dist = (float *)malloc_aligned(sizeof(float) * num_ctrl_pts);
-
-  // Load camera model parameters for the ISP
-  MAP_ARRAY_TO_ACCEL(ISP, "host_TsTw", host_TsTw, sizeof(float) * 9);
-  MAP_ARRAY_TO_ACCEL(ISP, "host_ctrl_pts", host_ctrl_pts,
-                     sizeof(float) * num_ctrl_pts * CHAN_SIZE);
-  MAP_ARRAY_TO_ACCEL(ISP, "host_weights", host_weights,
-                     sizeof(float) * num_ctrl_pts * CHAN_SIZE);
-  MAP_ARRAY_TO_ACCEL(ISP, "host_coefs", host_coefs,
-                     sizeof(float) * 4 * CHAN_SIZE);
-  MAP_ARRAY_TO_ACCEL(ISP, "host_tone_map", host_tone_map,
-                     sizeof(float) * 256 * CHAN_SIZE);
-  INVOKE_KERNEL(ISP, load_cam_params_hw, host_TsTw, host_ctrl_pts, host_weights,
-                host_coefs, host_tone_map, acc_TsTw, acc_ctrl_pts, acc_weights,
-                acc_coefs, acc_tone_map);
-
-  // Invoke the ISP
-  MAP_ARRAY_TO_ACCEL(ISP, "host_input", host_input,
-                     sizeof(uint8_t) * row_size * col_size * CHAN_SIZE);
-  MAP_ARRAY_TO_ACCEL(ISP, "host_result", host_result,
-                     sizeof(uint8_t) * row_size * col_size * CHAN_SIZE);
-  INVOKE_KERNEL(ISP, isp_hw, host_input, host_result, row_size, col_size,
-                acc_input, acc_result, acc_input_scaled, acc_result_scaled,
-                acc_TsTw, acc_ctrl_pts, acc_weights, acc_coefs, acc_tone_map,
-                acc_l2_dist);
-
-  free(acc_input);
-  free(acc_result);
-  free(acc_input_scaled);
-  free(acc_result_scaled);
-  free(host_TsTw);
-  free(host_ctrl_pts);
-  free(host_weights);
-  free(host_coefs);
-  free(host_tone_map);
-  free(acc_TsTw);
-  free(acc_ctrl_pts);
-  free(acc_weights);
-  free(acc_coefs);
-  free(acc_tone_map);
-  free(acc_l2_dist);
-}
diff --git a/hpvm/test/hpvm-cava/src/cam_pipe.h b/hpvm/test/hpvm-cava/src/cam_pipe.h
deleted file mode 100644
index 83a77e01a67886af64902eacfd5af69a0a8d48b0..0000000000000000000000000000000000000000
--- a/hpvm/test/hpvm-cava/src/cam_pipe.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _CAM_PIPE_H_
-#define _CAM_PIPE_H_
-
-void cam_pipe(uint8_t *host_input, uint8_t *host_result, int row_size,
-              int col_size);
-
-#endif
diff --git a/hpvm/test/hpvm-cava/src/gem5_harness.h b/hpvm/test/hpvm-cava/src/gem5_harness.h
deleted file mode 100644
index 36859cfe1ba67bc8197d7ea3961adfbeb95c70b1..0000000000000000000000000000000000000000
--- a/hpvm/test/hpvm-cava/src/gem5_harness.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _GEM5_HARNESS_H_
-#define _GEM5_HARNESS_H_
-
-/* One header to include them all. */
-
-//#include "aladdin_sys_connection.h"
-//#include "aladdin_sys_constants.h"
-#include "dma_interface.h"
-
-#endif
diff --git a/hpvm/test/hpvm-cava/src/main.c b/hpvm/test/hpvm-cava/src/main.c
index d3834165a86ba114ef4b2369af980b02dbfb62c1..628660f74cf2f55fa47d77991758b0528aec70d1 100644
--- a/hpvm/test/hpvm-cava/src/main.c
+++ b/hpvm/test/hpvm-cava/src/main.c
@@ -185,7 +185,6 @@ void descale_fxp(float *input, size_t bytes_input, uint8_t *output,
         int index = (chan * row_size + row) * col_size + col;
         output[index] = min(max(input[index] * 255, 0), 255);
       }
-  __hpvm__return(1, bytes_result);
 }
 
 // Leaf HPVM node function for demosaicing
@@ -453,8 +452,6 @@ void descale_fxp_wrapper(float *input, size_t bytes_input, uint8_t *result,
   __hpvm__bindIn(DescaleNode, 3, 3, 0); // bind bytes_result
   __hpvm__bindIn(DescaleNode, 4, 4, 0); // bind row_size
   __hpvm__bindIn(DescaleNode, 5, 5, 0); // bind col_size
-
-  __hpvm__bindOut(DescaleNode, 0, 0, 0);
 }
 
 void demosaic_fxp_wrapper(float *input, size_t bytes_input, float *result,
@@ -680,10 +677,6 @@ void CamPipeRoot(/*0*/ uint8_t *input, /*1*/ size_t bytes_input,
   __hpvm__bindIn(DsNode, 3, 3, 0);  // bytes_result -> DsNode:bytes_result
   __hpvm__bindIn(DsNode, 28, 4, 0); // row_size -> DsNode:row_size
   __hpvm__bindIn(DsNode, 29, 5, 0); // col_size -> DsNode:col_size
-
-  // Similar to bindIn, but for the output. Output of a node is a struct, and
-  // we consider the fields in increasing ordering.
-  __hpvm__bindOut(DsNode, 0, 0, 0);
 }
 
 int main(int argc, char *argv[]) {
diff --git a/hpvm/test/hpvm-cava/src/rename.sh b/hpvm/test/hpvm-cava/src/rename.sh
deleted file mode 100755
index 3b6faac63aef89cc51f776ed7e5f1e048f8da815..0000000000000000000000000000000000000000
--- a/hpvm/test/hpvm-cava/src/rename.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-for f in *.cc; do 
-    mv -- "$f" "${f%.cc}.c"
-done