Hello Raul, I've never tried to compile PARSEC natively.. i think its easier if you use an emulated ARM machine. I have successfully compiled all the benchmarks you've mentioned. (well, except raytrace) check the details here: https://www.mail-archive.com/[email protected]/msg12179.html
On Thu, Dec 17, 2015 at 11:39 AM, Raul Garcia <[email protected]> wrote: > Hello All, > > I am trying to cross-compile parsec benchmark for ARM for some > experiments. > I have successfully compiled natively all the benchmarks, but when I use > the cross compiling tools I get some errors. > > This is what I have done so far: > > -Downloaded the source files of parsec 3.0, configured parsecmgmt tool and > make sure that can compile benchmarks natively. > > -Applied the patch described here to compile for ARM. ( > http://www.m5sim.org/PARSEC_benchmarks) > > -Modified gcc.bldconf file to use cross compiling tools ( is this > procedure correct?): > > # CC_HOME is installation root of the C compiler > export CC_HOME="/usr" > # BINUTIL_HOME is installation root of the GNU binutils > export BINUTIL_HOME="/usr" > # GNUTOOL_HOME is installation root of the GNU tools > export GNUTOOL_HOME="/usr" > # BINARY_PREFIX is the string which is used as prefix for the GNU binaries > export BINARY_PREFIX="arm-linux-gnueabi-" > <- I added the prefix in order to pint to > the cross-compile tools > > # Compilers and preprocessors > export CC="${CC_HOME}/bin/${BINARY_PREFIX}gcc" > export CXX="${CC_HOME}/bin/${BINARY_PREFIX}g++" > export CPP="${CC_HOME}/bin/${BINARY_PREFIX}cpp" > > -Build the binaries using parsecmgmt tool: > > parsecmgmt -a build -p parsec.{benchmark} -c gcc > > This command works for most of the benchmarks: blackscholes, canneal, > facesim, fluidanimate, freqmine, streamcluster and swaptions. > However for the rest: bodytrack, dedup, ferret, raytrace (reported not to > work in documentation), vips, x264 the compilation fails. > > > Thread model: posix > gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) > configure:2979: $? = 0 > configure:2986: /usr/bin/arm-linux-gnueabi-gcc -V >&5 > arm-linux-gnueabi-gcc: error: unrecognized command line option > '-V' > arm-linux-gnueabi-gcc: fatal error: no input files > compilation terminated. > configure:2989: $? = 4 > configure:3012: checking for C compiler default output file name > configure:3039: /usr/bin/arm-linux-gnueabi-gcc -O3 -g -mcpu=cortex-a9 > -mfpu=neon -ftree-vectorize -mfloat-abi=softfp -ffast-math -funroll-loops > -fprefetch-loop-arrays -static -static-libgcc > -Wl,--hash-style=both,--as-needed -DPARSEC_VERSION=3.0-beta-20150206 > -L/usr/lib64 -L/usr/lib -static conftest.c >&5 > configure:3042: $? = 0 > configure:3088: result: a.out > configure:3093: checking whether the C compiler > works <- Benchmark try to > execute a arm binary? > configure:3103: ./a.out > /home/raul/Documents/benchmarks/parsec-3.0/pkgs/apps/bodytrack/src/configure: > line 3104: ./a.out: cannot execute binary file: Exec format error > configure:3106: $? = 126 > configure:3115: error: cannot run C compiled programs. > If you meant to cross compile, use `--host'. > See `config.log' for more details. > > According to the log file (attached) the benchmark generates a binary and > then try to execute it but since it is an i686 machine it fails and causes > an error. This is the common error for the failing benchmarks. > > I dont know much about Parsec internals, can someone tell me what is > happening and how to fix this problem? > > Raul. > > > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
