<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>parallel_for.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="annotated.html"><span>Classes</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
  </ul></div>
<h1>parallel_for.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright 2005-2010 Intel Corporation.  All Rights Reserved.</span>
<a name="l00003"></a>00003 <span class="comment"></span>
<a name="l00004"></a>00004 <span class="comment">    The source code contained or described herein and all documents related</span>
<a name="l00005"></a>00005 <span class="comment">    to the source code ("Material") are owned by Intel Corporation or its</span>
<a name="l00006"></a>00006 <span class="comment">    suppliers or licensors.  Title to the Material remains with Intel</span>
<a name="l00007"></a>00007 <span class="comment">    Corporation or its suppliers and licensors.  The Material is protected</span>
<a name="l00008"></a>00008 <span class="comment">    by worldwide copyright laws and treaty provisions.  No part of the</span>
<a name="l00009"></a>00009 <span class="comment">    Material may be used, copied, reproduced, modified, published, uploaded,</span>
<a name="l00010"></a>00010 <span class="comment">    posted, transmitted, distributed, or disclosed in any way without</span>
<a name="l00011"></a>00011 <span class="comment">    Intel's prior express written permission.</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">    No license under any patent, copyright, trade secret or other</span>
<a name="l00014"></a>00014 <span class="comment">    intellectual property right is granted to or conferred upon you by</span>
<a name="l00015"></a>00015 <span class="comment">    disclosure or delivery of the Materials, either expressly, by</span>
<a name="l00016"></a>00016 <span class="comment">    implication, inducement, estoppel or otherwise.  Any license under such</span>
<a name="l00017"></a>00017 <span class="comment">    intellectual property rights must be express and approved by Intel in</span>
<a name="l00018"></a>00018 <span class="comment">    writing.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __TBB_parallel_for_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_parallel_for_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "task.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "partitioner.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "blocked_range.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;new&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "tbb_exception.h"</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">namespace </span>tbb {
<a name="l00031"></a>00031 
<a name="l00033"></a>00033 <span class="keyword">namespace </span>internal {
<a name="l00034"></a>00034 
<a name="l00036"></a>00036 
<a name="l00037"></a>00037     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body, <span class="keyword">typename</span> Partitioner&gt;
<a name="l00038"></a>00038     <span class="keyword">class </span>start_for: <span class="keyword">public</span> task {
<a name="l00039"></a>00039         Range my_range;
<a name="l00040"></a>00040         <span class="keyword">const</span> Body my_body;
<a name="l00041"></a>00041         <span class="keyword">typename</span> Partitioner::partition_type my_partition;
<a name="l00042"></a>00042         <span class="comment">/*override*/</span> task* execute();
<a name="l00043"></a>00043 
<a name="l00045"></a>00045         start_for( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, Partitioner&amp; partitioner ) :
<a name="l00046"></a>00046             my_range(range),    
<a name="l00047"></a>00047             my_body(body),
<a name="l00048"></a>00048             my_partition(partitioner)
<a name="l00049"></a>00049         {
<a name="l00050"></a>00050         }
<a name="l00052"></a>00052 
<a name="l00053"></a>00053         start_for( start_for&amp; parent_, split ) :
<a name="l00054"></a>00054             my_range(parent_.my_range,split()),    
<a name="l00055"></a>00055             my_body(parent_.my_body),
<a name="l00056"></a>00056             my_partition(parent_.my_partition,split())
<a name="l00057"></a>00057         {
<a name="l00058"></a>00058             my_partition.set_affinity(*<span class="keyword">this</span>);
<a name="l00059"></a>00059         }
<a name="l00061"></a>00061         <span class="comment">/*override*/</span> <span class="keywordtype">void</span> note_affinity( affinity_id <span class="keywordtype">id</span> ) {
<a name="l00062"></a>00062             my_partition.note_affinity( <span class="keywordtype">id</span> );
<a name="l00063"></a>00063         }
<a name="l00064"></a>00064     <span class="keyword">public</span>:
<a name="l00065"></a>00065         <span class="keyword">static</span> <span class="keywordtype">void</span> run(  <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <span class="keyword">const</span> Partitioner&amp; partitioner ) {
<a name="l00066"></a>00066             <span class="keywordflow">if</span>( !range.empty() ) {
<a name="l00067"></a>00067 #<span class="keywordflow">if</span> !__TBB_TASK_GROUP_CONTEXT || TBB_JOIN_OUTER_TASK_GROUP
<a name="l00068"></a>00068                 start_for&amp; a = *<span class="keyword">new</span>(<a class="code" href="a00199.html#23acb0da0afd690da797f9f882027d34">task::allocate_root</a>()) start_for(range,body,const_cast&lt;Partitioner&amp;&gt;(partitioner));
<a name="l00069"></a>00069 <span class="preprocessor">#else</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span>                <span class="comment">// Bound context prevents exceptions from body to affect nesting or sibling algorithms,</span>
<a name="l00071"></a>00071                 <span class="comment">// and allows users to handle exceptions safely by wrapping parallel_for in the try-block.</span>
<a name="l00072"></a>00072                 task_group_context context;
<a name="l00073"></a>00073                 start_for&amp; a = *<span class="keyword">new</span>(task::allocate_root(context)) start_for(range,body,const_cast&lt;Partitioner&amp;&gt;(partitioner));
<a name="l00074"></a>00074 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_TASK_GROUP_CONTEXT &amp;&amp; !TBB_JOIN_OUTER_TASK_GROUP */</span>
<a name="l00075"></a>00075                 <a class="code" href="a00199.html#ce8ce689c26a4ddf343829bc3c73290a">task::spawn_root_and_wait</a>(a);
<a name="l00076"></a>00076             }
<a name="l00077"></a>00077         }
<a name="l00078"></a>00078 <span class="preprocessor">#if __TBB_TASK_GROUP_CONTEXT</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keywordtype">void</span> run(  <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <span class="keyword">const</span> Partitioner&amp; partitioner, task_group_context&amp; context ) {
<a name="l00080"></a>00080             <span class="keywordflow">if</span>( !range.empty() ) {
<a name="l00081"></a>00081                 start_for&amp; a = *<span class="keyword">new</span>(task::allocate_root(context)) start_for(range,body,const_cast&lt;Partitioner&amp;&gt;(partitioner));
<a name="l00082"></a>00082                 <a class="code" href="a00199.html#ce8ce689c26a4ddf343829bc3c73290a">task::spawn_root_and_wait</a>(a);
<a name="l00083"></a>00083             }
<a name="l00084"></a>00084         }
<a name="l00085"></a>00085 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_TASK_GROUP_CONTEXT */</span>
<a name="l00086"></a>00086     };
<a name="l00087"></a>00087 
<a name="l00088"></a>00088     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body, <span class="keyword">typename</span> Partitioner&gt;
<a name="l00089"></a>00089     task* start_for&lt;Range,Body,Partitioner&gt;::execute() {
<a name="l00090"></a>00090         <span class="keywordflow">if</span>( !my_range.is_divisible() || my_partition.should_execute_range(*<span class="keyword">this</span>) ) {
<a name="l00091"></a>00091             my_body( my_range );
<a name="l00092"></a>00092             <span class="keywordflow">return</span> my_partition.continue_after_execute_range(); 
<a name="l00093"></a>00093         } <span class="keywordflow">else</span> {
<a name="l00094"></a>00094             empty_task&amp; c = *<span class="keyword">new</span>( this-&gt;allocate_continuation() ) empty_task;
<a name="l00095"></a>00095             recycle_as_child_of(c);
<a name="l00096"></a>00096             c.set_ref_count(2);
<a name="l00097"></a>00097             <span class="keywordtype">bool</span> delay = my_partition.decide_whether_to_delay();
<a name="l00098"></a>00098             start_for&amp; b = *<span class="keyword">new</span>( c.allocate_child() ) start_for(*<span class="keyword">this</span>,split());
<a name="l00099"></a>00099             my_partition.spawn_or_delay(delay,b);
<a name="l00100"></a>00100             <span class="keywordflow">return</span> <span class="keyword">this</span>;
<a name="l00101"></a>00101         }
<a name="l00102"></a>00102     } 
<a name="l00103"></a>00103 } <span class="comment">// namespace internal</span>
<a name="l00105"></a>00105 <span class="comment"></span>
<a name="l00106"></a>00106 
<a name="l00107"></a>00107 <span class="comment">// Requirements on Range concept are documented in blocked_range.h</span>
<a name="l00108"></a>00108 
<a name="l00119"></a>00119 
<a name="l00121"></a>00121 
<a name="l00122"></a>00122 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00123"></a><a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">00123</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body ) {
<a name="l00124"></a>00124     internal::start_for&lt;Range,Body,__TBB_DEFAULT_PARTITIONER&gt;::run(range,body,__TBB_DEFAULT_PARTITIONER());
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126 
<a name="l00128"></a>00128 
<a name="l00129"></a>00129 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00130"></a><a class="code" href="a00274.html#g13cac5dd55c7533bccea43a51c33d0e5">00130</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <span class="keyword">const</span> <a class="code" href="a00193.html">simple_partitioner</a>&amp; partitioner ) {
<a name="l00131"></a>00131     internal::start_for&lt;Range,Body,simple_partitioner&gt;::run(range,body,partitioner);
<a name="l00132"></a>00132 }
<a name="l00133"></a>00133 
<a name="l00135"></a>00135 
<a name="l00136"></a>00136 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00137"></a><a class="code" href="a00274.html#ga7ac75d532389b55b9247f3fdb0b00d1">00137</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <span class="keyword">const</span> <a class="code" href="a00146.html">auto_partitioner</a>&amp; partitioner ) {
<a name="l00138"></a>00138     internal::start_for&lt;Range,Body,auto_partitioner&gt;::run(range,body,partitioner);
<a name="l00139"></a>00139 }
<a name="l00140"></a>00140 
<a name="l00142"></a>00142 
<a name="l00143"></a>00143 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00144"></a><a class="code" href="a00274.html#g9cd1b210ceb1c040f30e390b4a21bde8">00144</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <a class="code" href="a00141.html">affinity_partitioner</a>&amp; partitioner ) {
<a name="l00145"></a>00145     internal::start_for&lt;Range,Body,affinity_partitioner&gt;::run(range,body,partitioner);
<a name="l00146"></a>00146 }
<a name="l00147"></a>00147 
<a name="l00148"></a>00148 <span class="preprocessor">#if __TBB_TASK_GROUP_CONTEXT</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span>
<a name="l00151"></a>00151 <span class="preprocessor">template&lt;typename Range, typename Body&gt;</span>
<a name="l00152"></a><a class="code" href="a00274.html#g2d317a5e0078cd193125439fed60dfdc">00152</a> <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <span class="keyword">const</span> <a class="code" href="a00193.html">simple_partitioner</a>&amp; partitioner, <a class="code" href="a00201.html">task_group_context</a>&amp; context ) {
<a name="l00153"></a>00153     internal::start_for&lt;Range,Body,simple_partitioner&gt;::run(range, body, partitioner, context);
<a name="l00154"></a>00154 }
<a name="l00155"></a>00155 
<a name="l00157"></a>00157 
<a name="l00158"></a>00158 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00159"></a><a class="code" href="a00274.html#g1c0700e3f85e83a788ff3ede88ebb7e9">00159</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <span class="keyword">const</span> <a class="code" href="a00146.html">auto_partitioner</a>&amp; partitioner, <a class="code" href="a00201.html">task_group_context</a>&amp; context ) {
<a name="l00160"></a>00160     internal::start_for&lt;Range,Body,auto_partitioner&gt;::run(range, body, partitioner, context);
<a name="l00161"></a>00161 }
<a name="l00162"></a>00162 
<a name="l00164"></a>00164 
<a name="l00165"></a>00165 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00166"></a><a class="code" href="a00274.html#g04b4696b67370c01353ff5974c8f1196">00166</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>( <span class="keyword">const</span> Range&amp; range, <span class="keyword">const</span> Body&amp; body, <a class="code" href="a00141.html">affinity_partitioner</a>&amp; partitioner, <a class="code" href="a00201.html">task_group_context</a>&amp; context ) {
<a name="l00167"></a>00167     internal::start_for&lt;Range,Body,affinity_partitioner&gt;::run(range,body,partitioner, context);
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_TASK_GROUP_CONTEXT */</span>
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 
<a name="l00173"></a>00173 <span class="keyword">namespace </span>internal {
<a name="l00175"></a>00175 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Function, <span class="keyword">typename</span> Index&gt;
<a name="l00176"></a>00176 <span class="keyword">class </span>parallel_for_body : internal::no_assign {
<a name="l00177"></a>00177     <span class="keyword">const</span> Function &amp;my_func;
<a name="l00178"></a>00178     <span class="keyword">const</span> Index my_begin;
<a name="l00179"></a>00179     <span class="keyword">const</span> Index my_step; 
<a name="l00180"></a>00180 <span class="keyword">public</span>:
<a name="l00181"></a>00181     parallel_for_body( <span class="keyword">const</span> Function&amp; _func, Index&amp; _begin, Index&amp; _step) 
<a name="l00182"></a>00182         : my_func(_func), my_begin(_begin), my_step(_step) {}
<a name="l00183"></a>00183     
<a name="l00184"></a>00184     <span class="keywordtype">void</span> operator()( <a class="code" href="a00148.html">tbb::blocked_range&lt;Index&gt;</a>&amp; r )<span class="keyword"> const </span>{
<a name="l00185"></a>00185         <span class="keywordflow">for</span>( Index i = r.<a class="code" href="a00148.html#18d2258400756ac1446dac7676b18df3">begin</a>(),  k = my_begin + i * my_step; i &lt; r.<a class="code" href="a00148.html#8b929d93ddc13f148b11bceef3a3bdf8">end</a>(); i++, k = k + my_step)
<a name="l00186"></a>00186             my_func( k );
<a name="l00187"></a>00187     }
<a name="l00188"></a>00188 };
<a name="l00189"></a>00189 } <span class="comment">// namespace internal</span>
<a name="l00191"></a>00191 <span class="comment"></span>
<a name="l00192"></a>00192 <span class="keyword">namespace </span>strict_ppl {
<a name="l00193"></a>00193 
<a name="l00195"></a>00195 
<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Index, <span class="keyword">typename</span> Function&gt;
<a name="l00197"></a><a class="code" href="a00273.html#15c764c70c8a32e7a4b8c291d0cc8dde">00197</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(Index first, Index last, Index step, <span class="keyword">const</span> Function&amp; f) {
<a name="l00198"></a>00198     <a class="code" href="a00201.html">tbb::task_group_context</a> context;
<a name="l00199"></a>00199     <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(first, last, step, f, context);
<a name="l00200"></a>00200 }
<a name="l00201"></a>00201 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Index, <span class="keyword">typename</span> Function&gt;
<a name="l00202"></a>00202 <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(Index first, Index last, Index step, <span class="keyword">const</span> Function&amp; f, <a class="code" href="a00201.html">tbb::task_group_context</a> &amp;context) {
<a name="l00203"></a>00203     <span class="keywordflow">if</span> (step &lt;= 0 )
<a name="l00204"></a>00204         internal::throw_exception(internal::eid_nonpositive_step); <span class="comment">// throws std::invalid_argument</span>
<a name="l00205"></a>00205     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (last &gt; first) {
<a name="l00206"></a>00206         <span class="comment">// Above "else" is necessary to prevent "potential divide by zero" warning</span>
<a name="l00207"></a>00207         Index end = (last - first) / step;
<a name="l00208"></a>00208         <span class="keywordflow">if</span> (first + end * step &lt; last) end++;
<a name="l00209"></a>00209         <a class="code" href="a00148.html">tbb::blocked_range&lt;Index&gt;</a> range(static_cast&lt;Index&gt;(0), end);
<a name="l00210"></a>00210         internal::parallel_for_body&lt;Function, Index&gt; body(f, first, step);
<a name="l00211"></a>00211         <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">tbb::parallel_for</a>(range, body, <a class="code" href="a00146.html">tbb::auto_partitioner</a>(), context);
<a name="l00212"></a>00212     }
<a name="l00213"></a>00213 }
<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Index, <span class="keyword">typename</span> Function&gt;
<a name="l00216"></a><a class="code" href="a00273.html#490399525b1e690ec31d6db964c6b272">00216</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(Index first, Index last, <span class="keyword">const</span> Function&amp; f) {
<a name="l00217"></a>00217     <a class="code" href="a00201.html">tbb::task_group_context</a> context;
<a name="l00218"></a>00218     <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(first, last, static_cast&lt;Index&gt;(1), f, context);
<a name="l00219"></a>00219 }
<a name="l00220"></a>00220 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Index, <span class="keyword">typename</span> Function&gt;
<a name="l00221"></a>00221 <span class="keywordtype">void</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(Index first, Index last, <span class="keyword">const</span> Function&amp; f, <a class="code" href="a00201.html">tbb::task_group_context</a> &amp;context) {
<a name="l00222"></a>00222     <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a>(first, last, static_cast&lt;Index&gt;(1), f, context);
<a name="l00223"></a>00223 }
<a name="l00224"></a>00224 
<a name="l00226"></a>00226 
<a name="l00227"></a>00227 } <span class="comment">// namespace strict_ppl</span>
<a name="l00228"></a>00228 
<a name="l00229"></a>00229 <span class="keyword">using</span> <a class="code" href="a00274.html#g68cc046ef72c42ce205fccbc435a0d81">strict_ppl::parallel_for</a>;
<a name="l00230"></a>00230 
<a name="l00231"></a>00231 } <span class="comment">// namespace tbb</span>
<a name="l00232"></a>00232 
<a name="l00233"></a>00233 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_parallel_for_H */</span>
<a name="l00234"></a>00234 
</pre></div><hr>
<p></p>
Copyright &copy; 2005-2010 Intel Corporation.  All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.
