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