Skip to content
Snippets Groups Projects
Commit 9840e02f authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Cleaned up pipeline

parent 413beae8
No related branches found
No related tags found
No related merge requests found
...@@ -26,8 +26,7 @@ INCLUDES += -I$(SRC_DIR) -I$(CAM_PIPE_SRC_DIR) ...@@ -26,8 +26,7 @@ INCLUDES += -I$(SRC_DIR) -I$(CAM_PIPE_SRC_DIR)
INCLUDES += -I$(LLVM_SRC_ROOT)/include -I../include -I$(HPVM_BUILD_DIR)/include INCLUDES += -I$(LLVM_SRC_ROOT)/include -I../include -I$(HPVM_BUILD_DIR)/include
## BEGIN HPVM MAKEFILE ## BEGIN HPVM MAKEFILE
SRCDIR_OBJS= io.ll SRCDIR_OBJS=
OBJS_SRC=src/io.cc
HPVM_OBJS=main.hpvm.ll HPVM_OBJS=main.hpvm.ll
APP = $(EXE) APP = $(EXE)
APP_CFLAGS += $(INCLUDES) -ffast-math -O3 -fno-lax-vector-conversions -fno-vectorize -fno-slp-vectorize APP_CFLAGS += $(INCLUDES) -ffast-math -O3 -fno-lax-vector-conversions -fno-vectorize -fno-slp-vectorize
......
declare -a versionList=("hpvmGPU" "hpvmVector" "hpvmScalar" "hpvmGPU-Scalar-MaxG" "hpvmVector-Scalar-MaxG" "hpvmGPU-Scalar-ZC" "hpvmVector-Scalar-ZC")
declare -a fileList=("Makefile" "io.cc" "main.cc")
for version in "${versionList[@]}"; do
echo $version
for filename in "${fileList[@]}"; do
echo cp ./src/hpvm_parallel/$filename ./src/$version/
cp ./src/hpvm_parallel/$filename ./src/$version/
done
echo
done
This diff is collapsed.
This diff is collapsed.
#!/bin/bash
echo Pipeline Script $1 $2
version=$1
pos=$2
if [[ ($version == *"GPU"*) || ($version == "hpvm_parallel") ]]
then
target=""
elif [[ $version == *"Vector"* ]]
then
target="x86"
else
target="seq"
fi
make VERSION=$version TARGET=$target clean
make VERSION=$version TARGET=$target POS=$pos
make VERSION=$version TARGET=$target POS=$pos run
#!/bin/bash
echo Pipeline Script
# Compile all version
make VERSION=hpvmGPU clean
make VERSION=hpvmVector TARGET=x86 clean
make VERSION=hpvmScalar TARGET=seq clean
make VERSION=hpvmGPU
make VERSION=hpvmVector TARGET=x86
make VERSION=hpvmScalar TARGET=seq
#Run all version
make VERSION=hpvmGPU run &
ID_GPU=$!
make VERSION=hpvmVector TARGET=x86 run &
ID_Vector=$!
make VERSION=hpvmScalar TARGET=seq run
ID_Scalar=$!
#echo Wait 60 seconds
#sleep 10
#echo Wait 60 seconds ... Done
#echo Killing GPU Pipeline
#echo kill -9 $ID_GPU
#read ppid
#kill -9 $ID_GPU
#echo Killing Vector Pipeline
#kill -9 $(ID_Vector)
#echo Killing Scalar Pipeline
#kill -9 $(ID_Scalar)
# (c) 2010 The Board of Trustees of the University of Illinois.
LANGUAGE=hpvm
SRCDIR_OBJS=io.ll #compute_gold.o
HPVM_OBJS=main.hpvm.ll
APP_CUDALDFLAGS=-lm -lstdc++
APP_CFLAGS+=-ffast-math -O3 -I/opt/opencv/include
APP_CXXFLAGS+=-ffast-math -O3 -I/opt/opencv/include
APP_LDFLAGS=`pkg-config opencv --libs`
#APP_LDFLAGS=-L/usr/local/cuda/lib64 -rdynamic /opt/opencv/lib/libopencv_videostab.so.3.0.0 /opt/opencv/lib/libopencv_videoio.so.3.0.0 /opt/opencv/lib/libopencv_video.so.3.0.0 /opt/opencv/lib/libopencv_superres.so.3.0.0 /opt/opencv/lib/libopencv_stitching.so.3.0.0 /opt/opencv/lib/libopencv_shape.so.3.0.0 /opt/opencv/lib/libopencv_photo.so.3.0.0 /opt/opencv/lib/libopencv_objdetect.so.3.0.0 /opt/opencv/lib/libopencv_ml.so.3.0.0 /opt/opencv/lib/libopencv_imgproc.so.3.0.0 /opt/opencv/lib/libopencv_imgcodecs.so.3.0.0 /opt/opencv/lib/libopencv_highgui.so.3.0.0 /opt/opencv/lib/libopencv_hal.a /opt/opencv/lib/libopencv_flann.so.3.0.0 /opt/opencv/lib/libopencv_features2d.so.3.0.0 /opt/opencv/lib/libopencv_core.so.3.0.0 /opt/opencv/lib/libopencv_calib3d.so.3.0.0 /opt/opencv/lib/libopencv_hal.a -ldl -lm -lpthread -lrt /opt/opencv/share/OpenCV/3rdparty/lib/libippicv.a -Wl,-rpath,/usr/local/cuda/lib64:/opt/opencv/lib
#OpenCV link flags all
#/usr/bin/c++ -std=c++0x CMakeFiles/EdgeDetect.dir/EdgeDetect.cpp.o -o EdgeDetect -L/usr/local/cuda/lib64 -rdynamic /opt/opencv/lib/libopencv_videostab.so.3.0.0 /opt/opencv/lib/libopencv_videoio.so.3.0.0 /opt/opencv/lib/libopencv_video.so.3.0.0 /opt/opencv/lib/libopencv_superres.so.3.0.0 /opt/opencv/lib/libopencv_stitching.so.3.0.0 /opt/opencv/lib/libopencv_shape.so.3.0.0 /opt/opencv/lib/libopencv_photo.so.3.0.0 /opt/opencv/lib/libopencv_objdetect.so.3.0.0 /opt/opencv/lib/libopencv_ml.so.3.0.0 /opt/opencv/lib/libopencv_imgproc.so.3.0.0 /opt/opencv/lib/libopencv_imgcodecs.so.3.0.0 /opt/opencv/lib/libopencv_highgui.so.3.0.0 /opt/opencv/lib/libopencv_hal.a /opt/opencv/lib/libopencv_flann.so.3.0.0 /opt/opencv/lib/libopencv_features2d.so.3.0.0 /opt/opencv/lib/libopencv_cudev.so.3.0.0 /opt/opencv/lib/libopencv_cudawarping.so.3.0.0 /opt/opencv/lib/libopencv_cudastereo.so.3.0.0 /opt/opencv/lib/libopencv_cudaoptflow.so.3.0.0 /opt/opencv/lib/libopencv_cudaobjdetect.so.3.0.0 /opt/opencv/lib/libopencv_cudalegacy.so.3.0.0 /opt/opencv/lib/libopencv_cudaimgproc.so.3.0.0 /opt/opencv/lib/libopencv_cudafilters.so.3.0.0 /opt/opencv/lib/libopencv_cudafeatures2d.so.3.0.0 /opt/opencv/lib/libopencv_cudacodec.so.3.0.0 /opt/opencv/lib/libopencv_cudabgsegm.so.3.0.0 /opt/opencv/lib/libopencv_cudaarithm.so.3.0.0 /opt/opencv/lib/libopencv_core.so.3.0.0 /opt/opencv/lib/libopencv_calib3d.so.3.0.0 /opt/opencv/lib/libopencv_hal.a -ldl -lm -lpthread -lrt /opt/opencv/share/OpenCV/3rdparty/lib/libippicv.a -lcudart -lnpp -lcufft -lcudart -lnpp -lcufft -Wl,-rpath,/usr/local/cuda/lib64:/opt/opencv/lib
/***************************************************************************
*cr
*cr (C) Copyright 2010 The Board of Trustees of the
*cr University of Illinois
*cr All Rights Reserved
*cr
***************************************************************************/
/* I/O routines for reading and writing matrices in column-major
* layout
*/
#include <fstream>
#include <iostream>
#include <vector>
char *readFile(const char *fileName) {
std::fstream f(fileName, std::fstream::in);
if (!f.good()) {
std::cerr << "Error Reading File!!" << std::endl;
return NULL;
}
f.seekg(0, std::ios::end);
int length = f.tellg();
f.seekg(0, std::ios::beg);
char *buffer;
if (length > 0) {
buffer = new char[length];
f.read(buffer, length);
buffer[length - 1] = 0;
} else {
buffer = new char;
buffer[0] = 0;
}
f.close();
return buffer;
}
bool readColMajorMatrixFile(const char *fn, int &nr_row, int &nr_col,
std::vector<float> &v) {
std::cerr << "Opening file:" << fn << std::endl;
std::fstream f(fn, std::fstream::in);
if (!f.good()) {
return false;
}
// Read # of rows and cols
f >> nr_row;
f >> nr_col;
float data;
std::cerr << "Matrix dimension: " << nr_row << "x" << nr_col << std::endl;
while (f.good()) {
f >> data;
v.push_back(data);
}
v.pop_back(); // remove the duplicated last element
return true;
}
bool writeColMajorMatrixFile(const char *fn, int nr_row, int nr_col,
std::vector<float> &v) {
std::cerr << "Opening file:" << fn << " for write." << std::endl;
std::fstream f(fn, std::fstream::out);
if (!f.good()) {
return false;
}
// Read # of rows and cols
f << nr_row << " " << nr_col << " ";
float data;
std::cerr << "Matrix dimension: " << nr_row << "x" << nr_col << std::endl;
for (int i = 0; i < v.size(); ++i) {
f << v[i] << ' ';
}
f << "\n";
return true;
}
#!/usr/bin/env python
# (c) Copyright 2010 The Board of Trustees of the University of Illinois.
import sys
sys.path.insert(0, '../../common/python')
import itertools
import filecompare as fc
import textfilecompare as tfc
def compare_floats(ref_list, cmp_list):
# Lists should be the same length
if len(ref_list) != len(cmp_list):
print "Different in length"
print "ref=" + str(len(ref_list)) +" "+ str(ref_list[-2])
print "cmp=" + str(len(cmp_list)) +" "+ str(cmp_list[-1])
return False
return True
# Numbers should be equal with a tolerance of 1%
# or 0.01, whichever is greater.
for (r, c) in zip(ref_list, cmp_list):
diff = abs(r - c)
if not (diff < 0.01 or diff < 0.01 * abs(r)):
# Floats mismatch
return False
# All numbers are within tolerance
return True
err = "Computed values do not match the expected values\n"
comparison = fc.Then(
fc.Compare(tfc.floats, equal=compare_floats, message=err),
fc.Compare(tfc.eof)
)
fc.default_main(comparison)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment