<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">I installed hwloc-1.4.1 and hwloc-devel-1.4.1 rpms on the server where I am building torque-4.X and in looking through the output from the configure script
 during the build I do not see anywhere that the existence of any hwloc stuff is checked. In fact in grepping through the output from the whole torque rpm build process I do not see ANY mention of hwloc at all.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">I see compile time flags of HWLOC_CFLAGS and HWLOC_LIBS mentioned in the &#8211;help output from configure but according to the description text this is just supposed
 to over-ride the pkg-config results however I do not see any evidence that the pkg-config system is being quizzed at all for the existence of hwloc on the build server.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Is there some step I am missing?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">I thought someone mentioned that there would be better documentation of the hwloc business in the torque-4.0.1 release?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">If so where is it?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">--<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Steven DuChene<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> torqueusers-bounces@supercluster.org [mailto:torqueusers-bounces@supercluster.org]
<b>On Behalf Of </b>David Beer<br>
<b>Sent:</b> Monday, March 19, 2012 8:54 AM<br>
<b>To:</b> Torque Users Mailing List<br>
<b>Subject:</b> Re: [torqueusers] TORQUE 4.0 Officially Announced<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Steve,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Hwloc is now required for running cpusets in TORQUE, and it helps out a lot both in immediate use and in groundwork for future features.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Immediately hwloc gives you a better cpuset because it gives you the next core instead of the next indexed core. For example: many eight core systems have processors 0, 2, 4, and 6 next to each other and processors 1, 3, &nbsp;5, and 7 next
 to each other. If you're running a pre-4.0 TORQUE, and you have two jobs on the node, each with 4 cores, job 1 will have 0-3 and job 2 will have 4-7. In TORQUE 4.0, job 1 will have 0, 2, 4, and 6, and job 2 will have 1, 3, 5, and 7. This should help speed
 up processing times for jobs (NOTE: only if you have this kind of system and a comparable job layout, I'm not promising a general speed-up to everyone using cpusets). This should also allow us to properly handle hyperthreading for anyone that has it turned
 on and wishes to use it.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">The last immediate feature is if you have SMT (simultaneous multi-threading) hardware. The mom config variable $use_smt was added. By default, the use of SMT is enabled, but you can tell your pbs_mom to ignore them (not place them in the
 cpuset) using by adding<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">$use_smt false<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">to your mom config file<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">For the future, the hwloc threads make it really easy for us to handle hardware specific requests. One of the coming features for TORQUE is to allow requests roughly similar to:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">socket=2:numa=2 --with-hyperthreads<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">which would say to spread the job over 2 sockets, and across the 2 numa nodes on each socket. This is a feature we plan to add to improve support for Magny-Cours and Opteron type processors that have multiple sockets and or multiple numa
 nodes on the processor chip. Using hwloc makes it so we don't have to parse system files and map the indices to the sockets and/or numa nodes ourselves, we can simply use easy hwloc functions like&nbsp;hwloc_get_next_obj_inside_cpuset_by_type() that allow you to
 just move on to the next physical core or virtual core, or skip to the next socket or numa node as the case may be.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">David<o:p></o:p></p>
<div>
<p class="MsoNormal">On Mon, Mar 19, 2012 at 8:47 AM, DuChene, StevenX A &lt;<a href="mailto:stevenx.a.duchene@intel.com">stevenx.a.duchene@intel.com</a>&gt; wrote:<o:p></o:p></p>
<p class="MsoNormal">Also a better (more complete) explanation of what features are enabled when hwloc is used would be helpful as well.<br>
<br>
BTW, I built torque on my server without hwloc installed and then installed the resulting mom packages on my nodes. The mom daemons in that case did seem to start up just fine.<br>
--<br>
Steven DuChene<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
-----Original Message-----<br>
From: <a href="mailto:torqueusers-bounces@supercluster.org">torqueusers-bounces@supercluster.org</a> [mailto:<a href="mailto:torqueusers-bounces@supercluster.org">torqueusers-bounces@supercluster.org</a>] On Behalf Of Craig West<br>
Sent: Sunday, March 18, 2012 10:40 PM<br>
To: Torque Users mailing list; Torque Developers mailing list<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Subject: Re: [torqueusers] TORQUE 4.0 Officially Announced<br>
<br>
<br>
Hi Steven,<br>
<br>
I have just begun testing Torque 4.0, as hwloc has been a long awaited<br>
feature for me.<br>
<br>
&gt; It is unclear from this announcement text where hwloc has to be installed.<br>
&gt; Is it just on the server or on the nodes only?<br>
<br>
It needs to be available on the BUILD server and the nodes. I tried to<br>
run pbs_mom on a node without the hwloc I had installed and it failed.<br>
<br>
Note: I am running hwloc 1.4 from a directory in /usr/local<br>
This was not automatically found by the TORQUE configure script, but you<br>
can specify the location using HWLOC_CFLAGS &amp; HWLOC_LIBS.<br>
It embeds the locations that you specify in the pbs_mom (and other<br>
files) but it seems you can set the LD_LIBRARY_PATH variable if it is<br>
not in the same location on the BUILD server as the compute nodes.<br>
For simplicity installing them in the same location makes sense.<br>
<br>
&gt; More documentation about this would be greatly appreciated.<br>
<br>
I agree, clearer and more detailed documentation would be useful.<br>
<br>
Cheers,<br>
Craig.<br>
_______________________________________________<br>
torqueusers mailing list<br>
<a href="mailto:torqueusers@supercluster.org">torqueusers@supercluster.org</a><br>
<a href="http://www.supercluster.org/mailman/listinfo/torqueusers" target="_blank">http://www.supercluster.org/mailman/listinfo/torqueusers</a><br>
_______________________________________________<br>
torqueusers mailing list<br>
<a href="mailto:torqueusers@supercluster.org">torqueusers@supercluster.org</a><br>
<a href="http://www.supercluster.org/mailman/listinfo/torqueusers" target="_blank">http://www.supercluster.org/mailman/listinfo/torqueusers</a><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<p class="MsoNormal">David Beer | Software Engineer<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Adaptive Computing<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</body>
</html>