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

Reply via email to