<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?action=history&amp;feed=atom&amp;title=Benchmarking%3A_SHOC</id>
	<title>Benchmarking: SHOC - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?action=history&amp;feed=atom&amp;title=Benchmarking%3A_SHOC"/>
	<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=Benchmarking:_SHOC&amp;action=history"/>
	<updated>2026-05-04T22:52:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=Benchmarking:_SHOC&amp;diff=1125&amp;oldid=prev</id>
		<title>David: Created page with &quot;* The Scalable HeterOgeneous Computing benchmark suite (SHOC) is a collection of benchmark programs that tests the performance and stability of systems using computing devices...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=Benchmarking:_SHOC&amp;diff=1125&amp;oldid=prev"/>
		<updated>2012-10-12T15:20:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;* The Scalable HeterOgeneous Computing benchmark suite (SHOC) is a collection of benchmark programs that tests the performance and stability of systems using computing devices...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* The Scalable HeterOgeneous Computing benchmark suite (SHOC) is a collection of benchmark programs that tests the performance and stability of systems using computing devices with nontraditional architectures for general purpose computing, and the software used to program them. It&amp;#039;s initial focus is on systems containing Graphics Processing Units (GPUs) and multi-core processors, and on the OpenCL[3] programming standard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 1: Unzip Source ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
tar -xvzf shoc-1.01.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 2: Configure Build Environment ==&lt;br /&gt;
* If you are using Linux and OpenMPI or MPICH2; use the scripts in the config directory;&lt;br /&gt;
* They call ./configure as well; so do make sure you are in the top level directory of shoc-1.01&lt;br /&gt;
&lt;br /&gt;
* If you are using Linux and OpenMPI, use the appropriate mpicxx and note its PATH in the conf-linux-openmpi.sh script&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
sh ./config/conf-linux-openmpi.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you are using Linux and MPICH2, use the appropriate mpicxx and note its PATH in the conf-linux-mpich2.sh script&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
sh ./config/conf-linux-mpich2.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Step 3: Build Benchmarks ==&lt;br /&gt;
* Please note this will take some time&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Check if the benchmarks have been built. You should have the following directories; Serial, EP and TP;&lt;br /&gt;
* serial, embarrassingly parallel and true parallel programs, respectively; each having two directories for CUDA and OpenCL &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd ./bin&lt;br /&gt;
ls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4: Run the Benchmarks ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
export PATH=$PATH:/path/to/your/mpi/bin/dir&lt;br /&gt;
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/mpi/lib/dir&lt;br /&gt;
cd ./tools&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To run the driver in serial mode, specify either -cuda or -opencl, based on which version of the benchmarks you want to run. &lt;br /&gt;
* This will test each available device in the system. You also need to specify the problem size (1-4). The size convention is: &lt;br /&gt;
* 1 - CPUs / Debugging &lt;br /&gt;
* 2 - Mobile/Integrated GPUs &lt;br /&gt;
* 3 - Discrete GPUs (e.g. GeForce or Radeon series) &lt;br /&gt;
* 4 - HPC-Focused or Large Memory GPUs (e.g. Tesla or Firestream Series) &lt;br /&gt;
* It is recommended to use the driver.pl script in the ./tools directory and ALWAYS be sure to specify -cuda or -opencl  &lt;br /&gt;
&lt;br /&gt;
* To run an HPC focused benchmark on 2 Tesla GPUs:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd $SHOC_ROOT/tools&lt;br /&gt;
perl driver.pl -cuda -s 4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To run the benchmarks on a single node. &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd $SHOC_ROOT/tools&lt;br /&gt;
perl driver.pl -s 4 -cuda&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To run on more than one node, supply the script with the number of nodes and the number of available devices per node. For example, if running on 2 nodes that each have 2 devices, execute:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd $SHOC_ROOT/tools&lt;br /&gt;
perl driver.pl -cuda -n 2 -d 2 -s 4 -cuda&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To run a single-process benchmark program; for example SCAN in OpenCL&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd $SHOC_ROOT/bin&lt;br /&gt;
./Serial/OpenCL/Scan&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To run a parallel benchmark program&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd $SHOC_ROOT/bin&lt;br /&gt;
mpirun -np 8 ./EP/Scan&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>David</name></author>
	</entry>
</feed>