Difference between revisions of "Getting Started"

From Sniper
Jump to navigation Jump to search
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
* Get the Sniper source code from our [[Download]] page
 
* Get the Sniper source code from our [[Download]] page
  
* Download the latest Pin kit from the [http://www.pintool.org/downloads.html Pin downloads] page
+
* Download a Pin kit from the [http://www.pintool.org/downloads.html Pin downloads] page
 +
** Do not use any (new) version that uses PinCRT. Currently the (older) revision 71313 is still available which is known to work with Sniper
 
** Extract Pin into sniper/pin_kit
 
** Extract Pin into sniper/pin_kit
 
** Or set PIN_HOME to the location of Pin if you use a different directory or shared Pin location
 
** Or set PIN_HOME to the location of Pin if you use a different directory or shared Pin location
 +
 +
* Optional: Set target architecture
 +
** <code>export SNIPER_TARGET_ARCH=ia32 # default: intel64 (or update Makefile.config)</code>
 +
** <code>sudo apt-get install libc6-dev-i386 g++-4.4-multilib lib32z1-dev # install 32-bit libraries if running 64-bit OS (Ubuntu in this case) and the g++ multilib version depends on the g++ version that you are using</code>
  
 
* Compile Sniper. Some extra dependencies (a pre-compiled copy of the Python interpreter environment) will be downloaded automatically, so make sure you have a working internet connection when you make Sniper for the first time
 
* Compile Sniper. Some extra dependencies (a pre-compiled copy of the Python interpreter environment) will be downloaded automatically, so make sure you have a working internet connection when you make Sniper for the first time
** <code>make</code>
+
** <code>make # or use 'make -j N' where N is the number of cores in your machine to use parallel make</code>
  
 
* Running an application
 
* Running an application
** <code>./run-sniper -- echo hello</code>
 
 
** <code>cd test/fft; make run</code>
 
** <code>cd test/fft; make run</code>
  
Line 18: Line 22:
 
* [[Porting applications to Sniper]]
 
* [[Porting applications to Sniper]]
  
* [[Obtaining more benchmarks]]
+
* [[Download Benchmarks|Obtaining more benchmarks]]
 +
 
 +
* [[Multi-programmed workloads|Run multi-programmed workloads]]
 +
 
 +
* [[Simulator hooks|Accessing simulator hooks from inside an application]]
  
* [[Accessing simulator hooks from inside an application]]
+
* [[Scripting|Write scripts to monitor and control simulations]]
  
 
=== Prerequisites ===
 
=== Prerequisites ===
  
* GCC 4.3
+
* GCC 4.3 or higher
* A recent Pin version (for example, [http://www.pintool.org/downloads.html 2.10-43611] or newer)
+
* A recent Pin version (for example, [http://www.pintool.org/ 2.14-71313] or newer)
 
* Boost 1.38+
 
* Boost 1.38+
 +
* Linux 2.6.22+

Revision as of 11:06, 7 April 2016

  • Get the Sniper source code from our Download page
  • Download a Pin kit from the Pin downloads page
    • Do not use any (new) version that uses PinCRT. Currently the (older) revision 71313 is still available which is known to work with Sniper
    • Extract Pin into sniper/pin_kit
    • Or set PIN_HOME to the location of Pin if you use a different directory or shared Pin location
  • Optional: Set target architecture
    • export SNIPER_TARGET_ARCH=ia32 # default: intel64 (or update Makefile.config)
    • sudo apt-get install libc6-dev-i386 g++-4.4-multilib lib32z1-dev # install 32-bit libraries if running 64-bit OS (Ubuntu in this case) and the g++ multilib version depends on the g++ version that you are using
  • Compile Sniper. Some extra dependencies (a pre-compiled copy of the Python interpreter environment) will be downloaded automatically, so make sure you have a working internet connection when you make Sniper for the first time
    • make # or use 'make -j N' where N is the number of cores in your machine to use parallel make
  • Running an application
    • cd test/fft; make run

Next steps

Prerequisites

  • GCC 4.3 or higher
  • A recent Pin version (for example, 2.14-71313 or newer)
  • Boost 1.38+
  • Linux 2.6.22+