[vmkit-commits] [vmkit] r180388 - Updated Dacapo testing framework.

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:14:49 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:04:24 2013
New Revision: 180388

URL: http://llvm.org/viewvc/llvm-project?rev=180388&view=rev
Log:
Updated Dacapo testing framework.
(cherry picked from commit c607350866285950c2622e269049460f213b3ad3)

Added:
    vmkit/trunk/tests/dacapo/collect-log-data.sh
    vmkit/trunk/tests/dacapo/jars/download.sh
    vmkit/trunk/tests/dacapo/run-bench.sh
Removed:
    vmkit/trunk/tests/dacapo/jars/download.txt
Modified:
    vmkit/trunk/incinerator/README.TXT
    vmkit/trunk/tests/dacapo/2006-10/Makefile
    vmkit/trunk/tests/dacapo/Makefile.inc

Modified: vmkit/trunk/incinerator/README.TXT
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/incinerator/README.TXT?rev=180388&r1=180387&r2=180388&view=diff
==============================================================================
--- vmkit/trunk/incinerator/README.TXT (original)
+++ vmkit/trunk/incinerator/README.TXT Thu Apr 25 12:04:24 2013
@@ -45,7 +45,11 @@ LLVM:
 git clone http://llvm.org/git/llvm.git
 cd llvm/tools
 git clone http://llvm.org/git/clang.git
-cd clang
+cd ../projects
+git clone http://llvm.org/git/compiler-rt.git
+cd compiler-rt
+git config branch.master.rebase true
+cd ../../tools/clang
 git config branch.master.rebase true
 cd ../..
 git config branch.master.rebase true
@@ -90,7 +94,8 @@ svn co http://llvm.org/svn/llvm-project/
 
 * Make it (debug mode):
 
-./configure --enable-incinerator --with-llvmsrc=/home/koutheir/PhD/VMKit/llvm --with-llvmobj=/home/koutheir/PhD/VMKit/llvm --with-gnu-classpath-libs=/usr/local/classpath/lib/classpath --with-gnu-classpath-glibj=/usr/local/classpath/share/classpath/glibj.zip
+./configure --enable-incinerator --with-mmtk-plan=org.mmtk.plan.marksweep.MS --with-llvmsrc=/home/koutheir/PhD/VMKit/llvm --with-llvmobj=/home/koutheir/PhD/VMKit/llvm --with-gnu-classpath-libs=/home/koutheir/PhD/VMKit/classpath/lib --with-gnu-classpath-glibj=/home/koutheir/PhD/VMKit/classpath/lib/glibj.zip
+./configure --enable-incinerator --with-mmtk-plan=org.mmtk.plan.immix.Immix --with-llvmsrc=/home/koutheir/PhD/VMKit/llvm --with-llvmobj=/home/koutheir/PhD/VMKit/llvm --with-gnu-classpath-libs=/home/koutheir/PhD/VMKit/classpath/lib --with-gnu-classpath-glibj=/home/koutheir/PhD/VMKit/classpath/lib/glibj.zip
 make -j12 ENABLE_OPTIMIZED=0 REQUIRES_FRAME_POINTER=1 KEEP_SYMBOLS=1 DEBUG_RUNTIME=1 DEBUG_SYMBOLS=1
 
 =============

Modified: vmkit/trunk/tests/dacapo/2006-10/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/dacapo/2006-10/Makefile?rev=180388&r1=180387&r2=180388&view=diff
==============================================================================
--- vmkit/trunk/tests/dacapo/2006-10/Makefile (original)
+++ vmkit/trunk/tests/dacapo/2006-10/Makefile Thu Apr 25 12:04:24 2013
@@ -1,6 +1,6 @@
 LEVEL := ..
 DACAPO_VERSION := 2006-10
 DACAPO_ARGS := -s default
-DECAPO_BENCHMARKS := antlr bloat chart eclipse fop hsqldb jython luindex lusearch pmd xalan batik ps
+DECAPO_BENCHMARKS := antlr bloat chart eclipse fop hsqldb jython luindex lusearch pmd xalan
 
 include ../Makefile.inc

Modified: vmkit/trunk/tests/dacapo/Makefile.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/dacapo/Makefile.inc?rev=180388&r1=180387&r2=180388&view=diff
==============================================================================
--- vmkit/trunk/tests/dacapo/Makefile.inc (original)
+++ vmkit/trunk/tests/dacapo/Makefile.inc Thu Apr 25 12:04:24 2013
@@ -5,13 +5,12 @@ else
 endif
 
 TEMP_LEVEL			:= ../..
+RUN_BENCH			:= $(PWD)/$(LEVEL)/run-bench.sh
 DACAPO				:= $(PWD)/$(LEVEL)/jars/dacapo-$(DACAPO_VERSION).jar
+TMP_DIR				:= $(LEVEL)/tmp
 LOG_DIR				:= $(LEVEL)/logs
-LOG_DIR_FROM_TEMP	:= $(PWD)/$(LOG_DIR)
-J3_PATH				:= $(PWD)/../$(TEMP_LEVEL)/$(LEVEL)/vmkit2/$(BUILD_MODE)/bin/j3
-TEMP_J3				:= $(PWD)/$(LEVEL)/$(DACAPO_VERSION)/j3
+J3_PATH				:= $(PWD)/../$(TEMP_LEVEL)/$(LEVEL)/vmkit/$(BUILD_MODE)/bin/j3
 IJVM_PATH			:= $(PWD)/../$(TEMP_LEVEL)/$(LEVEL)/ijvm/$(BUILD_MODE)/bin/j3
-TEMP_IJVM			:= $(PWD)/$(LEVEL)/$(DACAPO_VERSION)/ijvm
 
 ifndef ENABLE_J3
 	ENABLE_J3 := 1
@@ -21,21 +20,11 @@ ifndef ENABLE_IJVM
 	ENABLE_IJVM := 1
 endif
 
-J3_DEFINED := [ "$(ENABLE_J3)" -ne 0 ]
-IJVM_DEFINED := [ "$(ENABLE_IJVM)" -ne 0 ]
-
-all: $(VM) $(LOG_DIR) $(DECAPO_BENCHMARKS)
-
-$(LOG_DIR):
-	@mkdir -p $@ 2>/dev/null
+all: $(VM) $(DECAPO_BENCHMARKS)
 
 $(DECAPO_BENCHMARKS): $(DACAPO)
-	@-$(J3_DEFINED) && echo "Dacapo benchmark version " $(DACAPO_VERSION) ": j3 ==> " $@
-	@-$(J3_DEFINED) && rm -rf $(TEMP_J3)/$@ && mkdir -p $(TEMP_J3)/$@
-	@-$(J3_DEFINED) && cd $(TEMP_J3)/$@ && $(J3_PATH) -jar $(DACAPO) $(DACAPO_ARGS) $@ >$(LOG_DIR_FROM_TEMP)/j3-$@-$(DACAPO_VERSION).log 2>&1
-	@-$(IJVM_DEFINED) && echo "Dacapo benchmark version " $(DACAPO_VERSION) ": ijvm ==> " $@
-	@-$(IJVM_DEFINED) && rm -rf $(TEMP_IJVM)/$@ && mkdir -p $(TEMP_IJVM)/$@
-	@-$(IJVM_DEFINED) && cd $(TEMP_IJVM)/$@ && $(IJVM_PATH) -jar $(DACAPO) $(DACAPO_ARGS) $@ >$(LOG_DIR_FROM_TEMP)/ijvm-$@-$(DACAPO_VERSION).log 2>&1
+	@-$(RUN_BENCH) "$(ENABLE_J3)" "j3" "$(DACAPO_VERSION)" "$(J3_PATH)" "$(DACAPO)" "$(DACAPO_ARGS)" "$@"
+	@-$(RUN_BENCH) "$(ENABLE_IJVM)" "ijvm" "$(DACAPO_VERSION)" "$(IJVM_PATH)" "$(DACAPO)" "$(DACAPO_ARGS)" "$@"
 
 clean:
-	@-rm -rf $(LOG_DIR) $(TEMP_J3) $(TEMP_IJVM) 2>/dev/null
+	@-rm -rf "$(TMP_DIR)" "$(LOG_DIR)" 2>/dev/null

Added: vmkit/trunk/tests/dacapo/collect-log-data.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/dacapo/collect-log-data.sh?rev=180388&view=auto
==============================================================================
--- vmkit/trunk/tests/dacapo/collect-log-data.sh (added)
+++ vmkit/trunk/tests/dacapo/collect-log-data.sh Thu Apr 25 12:04:24 2013
@@ -0,0 +1,43 @@
+#!/bin/bash 
+
+dacapo_dir=/home/koutheir/PhD/VMKit/vmkit/tests/dacapo
+log_collect_file=$dacapo_dir/logs/collected_passed.log
+log_synth_file=$dacapo_dir/logs/synth.log
+
+synth_awk=$(cat <<EOF
+BEGIN {
+	FS = ",";
+	getline;
+
+	bench_version = \$1;
+	bench_name = \$2;
+	vm_name = \$3;
+	val = \$4;
+	nval = 1;
+}
+/^\$/ {}
+{
+	if (\$1 == bench_version && \$2 == bench_name && \$3 == vm_name) {
+		val += \$4;
+		nval++;
+	} else {
+		val /= nval;
+		print bench_version FS bench_name FS vm_name FS int(val);
+
+		bench_version = \$1;
+		bench_name = \$2;
+		vm_name = \$3;
+		val = \$4;
+		nval = 1;
+	}
+}
+END {
+	val /= nval;
+	print bench_version FS bench_name FS vm_name FS val;
+}
+EOF
+)
+
+cd "$dacapo_dir/logs"
+grep '^===== DaCapo [A-Za-z]\+ PASSED' tmp.* | sed 's/tmp[^_]\+_//g' | sed 's/ msec =====//g' | sed 's/\.log:===== DaCapo [a-z]\+ PASSED in /_/g' | tr '_' ',' | sort > $log_collect_file
+awk -e "$synth_awk" "$log_collect_file" > $log_synth_file

Added: vmkit/trunk/tests/dacapo/jars/download.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/dacapo/jars/download.sh?rev=180388&view=auto
==============================================================================
--- vmkit/trunk/tests/dacapo/jars/download.sh (added)
+++ vmkit/trunk/tests/dacapo/jars/download.sh Thu Apr 25 12:04:24 2013
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+wget http://sourceforge.net/projects/dacapobench/files/archive/2006-10-MR2/dacapo-2006-10-MR2.jar/download -O dacapo-2006-10-MR2.jar
+wget http://sourceforge.net/projects/dacapobench/files/archive/2006-10/dacapo-2006-10.jar/download -O dacapo-2006-10.jar
+wget http://sourceforge.net/projects/dacapobench/files/9.12-bach/dacapo-9.12-bach.jar/download -O dacapo-9.12-bach.jar

Removed: vmkit/trunk/tests/dacapo/jars/download.txt
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/dacapo/jars/download.txt?rev=180387&view=auto
==============================================================================
--- vmkit/trunk/tests/dacapo/jars/download.txt (original)
+++ vmkit/trunk/tests/dacapo/jars/download.txt (removed)
@@ -1,3 +0,0 @@
-http://sourceforge.net/projects/dacapobench/files/archive/2006-10/
-http://sourceforge.net/projects/dacapobench/files/archive/2006-10-MR2/
-http://sourceforge.net/projects/dacapobench/files/9.12-bach/

Added: vmkit/trunk/tests/dacapo/run-bench.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/dacapo/run-bench.sh?rev=180388&view=auto
==============================================================================
--- vmkit/trunk/tests/dacapo/run-bench.sh (added)
+++ vmkit/trunk/tests/dacapo/run-bench.sh Thu Apr 25 12:04:24 2013
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+enable=$1
+
+if [ "$enable" -ne "1" ]; then exit 0; fi
+
+vm_name=$2
+bench_version=$3
+jvm=$4
+jar=$5
+vmargs=$6
+bench_name=$7
+
+dacapo_dir=/home/koutheir/PhD/VMKit/vmkit/tests/dacapo
+
+suffix=_${bench_version}_${bench_name}_${vm_name}
+
+mkdir -p "$dacapo_dir/tmp" "$dacapo_dir/logs" 2>/dev/null
+scratch_dir=$(mktemp -d --suffix=$suffix --tmpdir=$dacapo_dir/tmp)
+log_file=$(mktemp --suffix=${suffix}.log --tmpdir=$dacapo_dir/logs)
+
+cd "$scratch_dir"
+"$jvm" -jar "$jar" $vmargs "$bench_name" > $log_file 2>&1 || exit 1
+
+cd ..
+rm -rf "$scratch_dir"
+exit 0





More information about the vmkit-commits mailing list