-
Notifications
You must be signed in to change notification settings - Fork 4
gensim-project/simbench
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
================================================================================ SIMBENCH ================================================================================ Simbench is a set of microbenchmarks designed to run on full system simulators, in order to evaluate the performance of various features required for full system simulation. 1. Structure of Simbench Simbench consists of two main components: a Simbench image, plus a host program to time the various benchmarks. Rather than time each benchmark using a timer within the simulator (which may not be accurate or properly calibrated), timing is performed by the host machine. 2. Compiling Simbench The actual Simbench image must be compiled for a specific architecture and platform. These are specified via environment variables. For example, to compile for the ARM Versatile platform: $ export ARCH=arm $ export PLATFORM=versatile $ make A cross compiler must be available for the target architecture, specified in arch/$(ARCH)/Make.config. 3. Running Simbench To run Simbench for the ARM Versatile platform using QEMU: $ stdbuf -o0 qemu-system-arm -machine versatileab -kernel out/arm/versatile/simbench -nographic -m 512 | host/host The stdbuf program is used to disable output buffering so that the timing information produced by Simbench is delivered to the host application in a timely fashion. Note that some platforms require more than the default amount of memory provided by QEMU (e.g., the versatileab platform, as seen above): versatileab: 512 vexpress-a15: 2048 vexpress-a9: 1024 4. Debugging Simbench Simbench has built in lightweight logging. To enable the debugging logs, define the environment variable SIMBENCH_DEBUG=1. 5. Supported environments Simbench should be executable on a variety of architectures and platforms. The requirements placed on the platform are quite small, so porting to a new platform should be quite straightforward. Porting to a new architecture is a little more involved (and requires booting from reset, setting up page tables, etc) but should not be too much work. So far, the following architectures and platforms are supported: ARM: Versatile Application Baseboard Realview Platform Baseboard (A8) Arndale Board X86-64: Native -- works in QEMU too
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published