2

I am trying to install SPEC CPU2017 benchmarks on an Android development board. SPEC comes with an ISO file. You're supposed to mount the ISO and run the install.sh script inside it. Otherwise, you get the following error.

Can't find the top of your CPU2017 tree! Please change to the benchmark directory and run this program (./install.sh) again!

Unfortunately, I can't figure out how to mount the file in Android. I've tried the commands in this answer without any luck.

When I run mount -t iso9660 cpu2017-1.1.7.iso mountpoint -o ro,loop, I get the following message:

mount: 'cpu2017-1.1.7.iso'->'mountpoint': No such file or directory

I checked the kernel config and I've found that the CONFIG_ISO9660_FS options isn't set.

What are my options? Is it possible to mount the ISO? Is there any other way to install the SPEC CPU2017 benchmark suite?

vic
  • 121
  • 5

1 Answers1

2

Frame challenge: mounting the ISO on Android won't get you anywhere.

I took a look at the FAQ for SPEC CPU®2017, which makes it clear that the ISO contains source code, and you have to build the benchmark programs yourself. To do that, you need compilers and a linker, and apparently a Perl interpreter to run the benchmark suite. None of those programs are normally present on an Android device: this benchmark suite is meant for desktop or server computers, with software development tools installed.

Running these benchmarks will be a fair amount of work

If you want to run these benchmarks on Android, you'll need to do some work with build systems. Possibly quite a lot of work. You'll need to start by installing the benchmarks on a machine that you can use for Android development (Windows, Linux or Mac), and then build and run the benchmarks on that system to get the hang of working with them. Once you have done that, you can install the Android NDK and figure out how to build the benchmarks for Android. There are two obvious routes:

  1. Adapt the makefiles that SPEC provide to work with the NDK compiler, linker, and so on. This is the route that I'd take, but I'm used to working with the Android command line in the ADB shell. That should let you build the individual programs. You'll need a Perl system to run the runcpu wrapper, or it may be easier to do that on your build machine and have it run the programs via adb shell.

  2. Install the Android SDK as well as the NDK, and write an Android app that runs the benchmarks and presents their results. This is more work, but it gets you an Android app. However, you can't distribute that app without breaching SPEC's copyright on their benchmark source.

Look into SPEC's benchmarks for embedded computing

SPEC has recently added an Embedded Group which produces "industry-standard benchmarks for the hardware and software used in autonomous driving, mobile imaging, the Internet of Things, mobile devices, and many other applications."

These may well be easier to run on Android.

John Dallman
  • 1,091
  • 9
  • 24