<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Intel® Software Network Blogs &#187; Multicore</title>
	<link>http://softwareblogs.intel.com</link>
	<description></description>
	<pubDate>Sat, 17 May 2008 04:17:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Take Five Video Series - are you watching?</title>
		<link>http://softwareblogs.intel.com/2008/05/16/take-five-video-series-are-you-watching/</link>
		<comments>http://softwareblogs.intel.com/2008/05/16/take-five-video-series-are-you-watching/#comments</comments>
		<pubDate>Fri, 16 May 2008 20:05:53 +0000</pubDate>
		<dc:creator>Amelia Barton (Intel)</dc:creator>
		
		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Manageability]]></category>

		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[]]></category>

		<category><![CDATA[skulltrail]]></category>

		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/16/take-five-video-series-are-you-watching/</guid>
		<description><![CDATA[Ah, Friday, my favorite day for watching a few videos at work.
I've been monitoring how many developers are watching all of the segments of the video series we've posted on the Take Five site.   It is natural that not everyone will make it to the end, but I'm wondering if there is anything we could do better.
First, [...]]]></description>
			<content:encoded><![CDATA[<p>Ah, Friday, my favorite day for watching a few videos at work.</p>
<p>I've been monitoring how many developers are watching all of the segments of the video series we've posted on the <a href="http://softwarecommunity.intel.com/videos">Take Five</a> site.   It is natural that not everyone will make it to the end, but I'm wondering if there is anything we could do better.</p>
<p>First, I'd like to know if any of these are the causes:<br />
  A) Didn't know series were there<br />
  B) Watched the video from a different page w/out the series navigation<br />
  C) Didn't have time to watch them all<br />
  D) The video, well, just wasn't that interesting<br />
  E) My boss walked by, and I had to quickly switch screens from videos<br />
  F)  Other:  ______________ </p>
<p>Take a look at two of the series we've posted from the Game Developers Conference:  <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1485">Optimizing DirectX for Mulicore</a>, or the <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1398">SkullTrail series</a> with <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1396">GRIN Software*</a> and <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1397">UbiSoft*</a>.  Or the very long <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1448">Confronting ManyCore</a> series.   Once a video is playing in the player at the top of the site, there is a link that says "see Next in series" and/or "see Previous in series" to easily (at least I thought) move from one to the next. </p>
<p>While you in the player, you can rate the videos, get the embed code and direct links, leave comments, and/or link back to the blogs.</p>
<p>To see more series, they are in "series boxes" on the tabs below the <a href="http://softwarecommunity.intel.com/videos">Take Five player</a>.  If you mouse over the numer, you will get a video description. Be sure to click on the blue arrow to see the Virtualization and Community, and coming soon, Open Source tabs. </p>
<p>I'd love to hear your comments, and answers to the mulitple choice above.  I'm hoping I don't get too many D's.</p>
<p>Happy Friday!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/16/take-five-video-series-are-you-watching/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Keep It Simple!</title>
		<link>http://softwareblogs.intel.com/2008/05/11/keep-it-simple/</link>
		<comments>http://softwareblogs.intel.com/2008/05/11/keep-it-simple/#comments</comments>
		<pubDate>Mon, 12 May 2008 03:53:59 +0000</pubDate>
		<dc:creator>David Valdovinos (Intel)</dc:creator>
		
		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Intel SW Partner Program]]></category>

		<category><![CDATA[Manageability]]></category>

		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/11/keep-it-simple/</guid>
		<description><![CDATA[These were more or less the words of wisdom that a well respected blog-vet offered as I was contemplating my initial post. Who am I? I started with Intel in 1984 as a software engineer and have since held a variety of technical, marketing, and program management roles. In my current role, I get to [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Times New Roman">These were more or less the words of wisdom that a well respected blog-vet offered as I was contemplating my initial post. Who am I? I started with Intel in 1984 as a software engineer and have since held a variety of technical, marketing, and program management roles. In my current role, I get to manage programs within the <a href="http://www.intel.com/partner" title="Intel Software Partner Program">Intel Software Partner Program </a>(ISPP) that help ISVs enable their SW for the latest Intel technologies such as client management (vpro), virtualization, mobility, and graphics – and also, amplify their sales with unique program marketing &amp; sales benefits.</font></p>
<p><font face="Times New Roman">I cannot envision a more exciting time to be working in the technology industry, and especially, at Intel. Tick-tock, multi-core, low power, atom, larrabee, wimax, mids, 45nm are just a few of the potentially game changing strategies and technologies that Intel is driving today. However, none of these breakthroughs will make a big difference in the marketplace unless ISVs can effectively incorporate them into products that deliver real value and excitement to customers. This is the ‘simple’ premise behind ISPP: Make it easy for ISVs to align their products with the Intel roadmap and enjoy increased business success as a result.</font></p>
<p><font face="Times New Roman">In my past life as an engineer, I got a real kick in the pants from creating new SW and hearing feedback from customers about how cool our app was…or sometimes, wasn't! These days my ‘kick’ comes from driving our talented engineering, ISN developer community, and marketing teams to deliver enabling programs that help you and your company to capitalize on Intel's technology leadership. I’m looking forward to sharing my thoughts and ideas about SW enabling in future posts, but am even more eager to hear your feedback about how we can make ISPP work better. Simple enough?</font></p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/11/keep-it-simple/feed/</wfw:commentRss>
		</item>
		<item>
		<title>International Workshop on Multicore Software Engineering (IWMSE)</title>
		<link>http://softwareblogs.intel.com/2008/05/09/international-workshop-on-multicore-software-engineering-iwmse/</link>
		<comments>http://softwareblogs.intel.com/2008/05/09/international-workshop-on-multicore-software-engineering-iwmse/#comments</comments>
		<pubDate>Fri, 09 May 2008 22:15:04 +0000</pubDate>
		<dc:creator>Wolfgang Rosenberg (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/09/international-workshop-on-multicore-software-engineering-iwmse/</guid>
		<description><![CDATA[Stay tuned about the upcoming workshop. We are expecting interesting discussions about Threading Building Blocks between the subject matter experts, the audience and you.  The International Multicore Software Engineering Workshop is co-located with the 30th International Conference on Software Engineering in Leipzig, Germany on May 12th. The purpose of this workshop is to bring together researchers and practitioners with diverse backgrounds in [...]]]></description>
			<content:encoded><![CDATA[<p>Stay tuned about the upcoming workshop. We are expecting interesting discussions about Threading Building Blocks between the subject matter experts, the audience and you.  The International Multicore Software Engineering Workshop is co-located with the 30th International Conference on Software Engineering in Leipzig, Germany on May 12th. The purpose of this workshop is to bring together researchers and practitioners with diverse backgrounds in order to advance the state of the art in software engineering for multi/many-core parallel applications. The organizers are Prof. Walter F. Tichy and Dr. Victor Pankratius. Intel's contribution is a paper presented by Nicolae Popovici and Thomas Willhalm about <strong>'Putting Intel(R) Threading Building Blocks to Work'</strong> .Looking forward to see your contributions / opinions!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/09/international-workshop-on-multicore-software-engineering-iwmse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reaching out to the Academic Community</title>
		<link>http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/</link>
		<comments>http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/#comments</comments>
		<pubDate>Fri, 09 May 2008 20:38:20 +0000</pubDate>
		<dc:creator>Paul Steinberg (Intel)</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Social Media &amp; Virtual Worlds]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[Threading Building Blocks]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/</guid>
		<description><![CDATA[I am happy to launch my first Blog post as a member of Intel's Software College and Academic Community.  Much of this first post is  introductionary &#38; I am looking for your feedback.
 I am working with some of the brightest folks here at Intel, our subject matter experts and architects, such as Clay Breshears, Michael Wrinn, Bob [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy to launch my first Blog post as a member of Intel's Software College and Academic Community.  Much of this first post is  introductionary &amp; I am looking for your feedback.</p>
<p> I am working with some of the brightest folks here at Intel, our subject matter experts and architects, such as <a href="http://softwareblogs.intel.com/author/clay-breshears/">Clay Breshears</a>, <a href="http://softwareblogs.intel.com/author/michael-wrinn/">Michael Wrinn</a>, <a href="http://softwareblogs.intel.com/author/robert-chesebrough/">Bob Chesebrough </a>and <a href="http://softwareblogs.intel.com/2007/06/28/tim-mattson-on-parallel-computing-at-the-researchintel-blog/">Tim Mattson</a> (amongst others).  I will also be working closely with the indomitable <a href="http://softwareblogs.intel.com/2008/04/28/the-academic-community-has-a-new-face-to-support-you/">Wolfgang Rosenberg</a>, manager of the <a href="http://softwarecollege.intel.com/academic/">Intel Academic Community. </a></p>
<p>My job is to reach out to educators and researchers around the world, to connect them with Intel experts and to help foster development of a curriculum to educate the next generation of programmers and engineers on the newest compute platforms.</p>
<p><strong>Hopefully, this blog will go a long way to opening up channels of communication</strong> </p>
<p>We have a number of events and initiatives planned for this year. </p>
<p>We have already started our monthly <a href="http://softwarecommunity.intel.com/articles/eng/3760.htm"><strong>Academic Community Curriculum Webinar Series.</strong></a>  During these webinars, we discuss the newest curriculum topics.  It is a great way to speak directly with our course architects.  I moderate the series and I very much look forward to speaking with you there soon.</p>
<p><strong>The next in the series is on May 15 on multi-core design patterns.  Please Register below.</strong></p>
<p><img border="0" width="1" src="http://softwareblogs.intel.com/wordpress/wp-admin/" height="1" /><a href="http://w.on24.com/r.htm?e=106752&amp;s=1&amp;k=C24BFCF31A05EC4A82F51D6234DA4D71&amp;partnerref=MyBlog"><img border="0" width="312" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/Webinar.jpg" height="200" /></a></p>
<p> <a href="http://w.on24.com/r.htm?e=106752&amp;s=1&amp;k=C24BFCF31A05EC4A82F51D6234DA4D71&amp;partnerref=MyBlog">Register or view past event here</a>.</p>
<p>------------------------------------------</p>
<p>We are creating quite a few short <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1484&amp;Category=MultiCore"><strong>videos</strong></a> supporting our academic efforts.</p>
<p><img border="0" width="1" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/vids.jpg" height="1" /><img border="0" width="393" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/vids.jpg" height="167" /></p>
<p> I'm in the process now of filming a series on threading topics with an emphasis on game development and visual computing.  So far only the first title on <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1485">Optimizing for DirectX</a> is posted, but the rest will be available soon.</p>
<p><strong>Is this type of content useful?  Are there better ways to scale out our knowledge and build conversation?  I'd like to hear that from you.</strong></p>
<p> I've asked around internally as to how folks like to consume information.  As you might imagine, there were a wide-range of responses.  Tim Mattson just rolled his eyes when I started to talk about videos and webinars.  While he is a great presenter, his own preference is to just download the PowerPoint or code and have done with it.</p>
<p>Others, myself included, prefer a richer content set.  For me, nothing beats the immediacy of a live event.  That is one reason we have our monthly webinars.  I am also quite interested in convening smaller conversations, perhaps using something like Communicator or Live Meeting, to discuss specific topics or curriculum ideas.  Let me know by responding to this blog.</p>
<p> ---------------------------------------------</p>
<p>Finally, I've become very interested in different forms of new media.  I'm often available on <a href="http://www.twitter.com">Twitter</a> -find me as @psteinb.</p>
<p>I am the owner of the <a href="http://tinyurl.com/34chl9">Intel Software Second Life Island. </a></p>
<p><a href="http://tinyurl.com/34chl9"> <img border="0" width="159" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/psteinb/PeretzVerySmall.JPG" height="119" /></a></p>
<p>IM me on Second Life as Peretz Stine.</p>
<p>Check out our <a href="http://www.youtube.com/watch?v=iWfIJWaCzrA">launch video.</a></p>
<p><a href="http://www.youtube.com/watch?v=iWfIJWaCzrA"><img border="0" width="256" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/psteinb/launchSM.jpg" height="210" /></a></p>
<p><img border="0" width="1" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/Peretz.bmp" height="1" />Over the last year, we ran an event series on our Second Life island dedicated to engaging engineers and professionals around the world in conversation on this unique environment.  That program, sadly, is ended, but you can still view much of it <a href="http://softwarecommunity.intel.com/articles/eng/3712.htm">here:</a></p>
<p><a href="http://softwarecommunity.intel.com/articles/eng/3712.htm"><img border="0" width="401" src="http://softwarecommunity.intel.com/UserFiles/en-us/Image/psteinb/IntelMetaverse2.jpg" height="338" /></a></p>
<p>Are you interested in meeting on Second Life or other virtual worlds?  It can be arranged.</p>
<p> Well that's enough for now -you have you orders -tell me how best to foster dialogue.  I'll be working as hard as I can, but you are the whole point.  Let's start the conversation.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/09/reaching-out-to-the-academic-community/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multi-core Training Workshop at Wuhan Unviersity, China</title>
		<link>http://softwareblogs.intel.com/2008/05/09/multi-core-training-workshop-at-wuhan-unviersity-china/</link>
		<comments>http://softwareblogs.intel.com/2008/05/09/multi-core-training-workshop-at-wuhan-unviersity-china/#comments</comments>
		<pubDate>Fri, 09 May 2008 16:06:03 +0000</pubDate>
		<dc:creator>JianFeng Yang</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/09/multi-core-training-workshop-at-wuhan-unviersity-china/</guid>
		<description><![CDATA[Download the presentation: summary_multi-core training workshop_at Wuhan Unviersity
The Multi-core Training Workshop was held in the National Electrical and Electronic Teaching Base of Wuhan University, China Friday Apr. 11- Thursday Apr. 17, 2008. The workshop was sponsored by Intel and arranged by Wuhan University that brings teachers and scholars together with Intel specialists to make progress [...]]]></description>
			<content:encoded><![CDATA[<p>Download the presentation: <a href="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/summary-multi-core-training-forum1.ppt" title="summary_multi-core training workshop_at Wuhan Unviersity"><strong>summary_multi-core training workshop_at Wuhan Unviersity</strong></a></p>
<p>The Multi-core Training Workshop was held in the National Electrical and Electronic Teaching Base of Wuhan University, China Friday Apr. 11- Thursday Apr. 17, 2008. The workshop was sponsored by Intel and arranged by Wuhan University that brings teachers and scholars together with Intel specialists to make progress in the teaching contents and experience on multi-core related courses. There were approximately 46 attendees from 22 member universities in the China, most of the attendees are titled with associate professor and focus on teaching, and will directly take charge of the curriculum building of Multi-core Related course. All those universities have adopted multi-core content to their syllabus now and will start teaching the multi-core content at Fall 2008. By that time, the undergraduate/graduate students of more than 100 universities in the China will benefit from the Intel Multi-core University Program and, "it is of great meaning to make those future software engineers start understanding the multi-core architecture and multi-threaded programming technologies at university NOW - the multi-core computing era", said by Richard Wang from Intel.</p>
<p>Thanks for the great support from Intel Education Team, Intel SSG, and Intel ISC, it has taken Jolly Wang so much time to prepare for the workshop tomake the event smoothly, Hai Shen and Selwyn You have made some valuable suggestions for the training agenda, Nick Bao, Stanley Wang, Xiaoping Duan and Feilong Huang, have come to the workshop and made wonderful speeches or worked as instructors.</p>
<p>The workshop took 7 days, with 8 class hours per day and 3 hours free lab time per evening, and consists of three panels: the introduction of Intel Multi-core University Program, the multi-core training, and the teaching symposium.</p>
<p>The first panel's presentations focusing on the development of Intel Multi-core University Program in China, Intel Software and Solutions Group (SSG) and, the University Program registration flow were given by Nick Bao and Stanley Wang.</p>
<p>The Training Panel's presentations were delivered by Jianfeng Yang(WHU), Qingsong Shi(ZJU), Xiaoping Duan and Feilong Huang(Intel). Here the Intel standard training module was adopted on this panel and we add some other useful topics such as parallel architecture, MPI. The lab environment was maintained by Yinbo Xie (WHU). The key contents of training panel include:</p>
<ul>
<li>Parallel Architecture Parallel Programming Technologies</li>
<li>Core 2 architecture Threading Concepts</li>
<li>OpenMP</li>
<li>Programming with Windows/POSIX threads</li>
<li>Threaded programming methodology</li>
<li>Intel Tools
<ul>
<li>Intel Compiler</li>
<li>Intel VTune Performance Analyzer</li>
<li>Intel MKL</li>
<li>Intel Thread Checker</li>
<li>Intel Thread Profiler</li>
</ul>
</li>
<li>Scalability of threaded applications</li>
<li> MPI</li>
<li>TBB</li>
</ul>
<p>At the third panel, we discussed how to integrate multi-core contents to the syllabus, teaching contents and emphasis. Prof Ting Wang of NUDT was invited to give a keynote speech of curriculum building experience of undergraduate course "Compiler Principle", the National Module Curriculum. Presentations by Dr. Qingsong Shi from Zhejiang University and Dr. Jianfeng Yang from Wuhan University delivered the curriculum (Intel-MOE Module Curriculum) building experience to the participations also. And at the symposium, each university and each teacher introduced the curriculum building status of multi-core related course and their research interests. The discussion made the participants understand each other and increased the friendship among faculties.</p>
<p>Curriculum CD and Courseware were donated to the all participating universities, and from the feedback forms, all the attendances were satisfied with the workshop.</p>
<p>A special thank you goes out to all who attended and contributed to a very successful event.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/09/multi-core-training-workshop-at-wuhan-unviersity-china/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TBB on Sun Solaris*</title>
		<link>http://softwareblogs.intel.com/2008/05/09/tbb-on-sun-solaris/</link>
		<comments>http://softwareblogs.intel.com/2008/05/09/tbb-on-sun-solaris/#comments</comments>
		<pubDate>Fri, 09 May 2008 14:47:45 +0000</pubDate>
		<dc:creator>David Sekowski (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Threading Building Blocks]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/09/tbb-on-sun-solaris/</guid>
		<description><![CDATA[Hello, my name is Dave Sekowski. I am a program manager at Intel working on the Threading Building Blocks (TBB) project. This week I had an opportunity to talk with Chris Huson, one of the TBB developers who worked with Sun Microsystems to port TBB to Sun Solaris, about the collaborative effort to enable Solaris [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, my name is Dave Sekowski. I am a program manager at Intel working on the Threading Building Blocks (TBB) project. This week I had an opportunity to talk with Chris Huson, one of the TBB developers who worked with Sun Microsystems to port TBB to Sun Solaris, about the collaborative effort to enable Solaris developers with TBB.</p>
<p><strong><em>Dave Sekowski: </em></strong>We recently announcement with Sun Microsystems that we have made TBB available on Sun Solaris* using Sun Studio* compilers. What exactly went into the patches we made to TBB?<br />
<strong><em>Chris Huson: </em></strong>One set of changes was the addition of using statements in the test system, to accommodate slight differences in the header files; most of these were incorporated as-is after some discussion. Sun also disabled the "warning is error" switch in the build. We use it to be pedantic about the code, but the Sun compiler found different things to warn about. A change disabling the switch for Sun was put into mainline. The other major change was to add SunOS to the preprocessor statements which were for Linux.</p>
<p><strong><em>Dave Sekowski: </em></strong>In porting TBB to Sun Solaris with Sun Studio what needed to be changed and why?<br />
<strong><em>Chris Huson: </em></strong>The change needing review on the Sun side was support for the stricter Sun support for standard library functions. Some of these functions are in the global namespace on some platforms, and in the std:: namespace on others (including Sun). Vladimir Polin incorporated Sun's modifications in a way that also supported older platforms, and Sun reviewed and approved those changes.</p>
<p><strong><em>Dave Sekowski: </em></strong>Can you tell me a little about building it with Sun Studio compilers and working it into our regular build, test and release flow?<br />
<strong><em>Chris Huson: </em></strong>The process was virtually identical to the Linux build, especially after we started using the Sun Studio Express compiler. The system is now being incorporated into our nightly build and test system, with no major problems so far.</p>
<p><strong><em>Dave Sekowski:</em></strong> Do you have any additional comments on how it went?<br />
<strong><em>Chris Huson:</em></strong> The changes were small, and incorporating them into the current version of TBB was pretty painless. </p>
<p><em><strong>Dave Sekowski:</strong></em> Finally, what did you think about the collaboration with Sun to make this port happen?<br />
<em><strong>Chris Huson:</strong></em> The Sun developers did a great job in porting TBB to their platform. Because they adhered to the spirit of the design of TBB, incorporating those changes was an easy job.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/09/tbb-on-sun-solaris/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hop, Skip, and a Jump to understanding my French teacher</title>
		<link>http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/</link>
		<comments>http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/#comments</comments>
		<pubDate>Wed, 07 May 2008 22:18:12 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/</guid>
		<description><![CDATA[Dans mon dernier poteau j'ai accentué des efforts de construire un traducteur automatique de langue. Maintenant, j'ai constaté qu'il y a un projet semblable étant placé dans l'union européenne (EU). TC-STAR le premier rôle est concentré sur pouvoir traduire automatiquement le discours dans une des 23 langues officielles d'EU au discours dans un des autres. (Translation by Babel Fish.)]]></description>
			<content:encoded><![CDATA[<p>In my last <a href="http://softwareblogs.intel.com/2008/04/23/ill-finally-be-able-to-understand-my-french-teacher/">post</a> I highlighted efforts to construct an automatic language translator.  Now, I've found that there is a <a href="http://cordis.europa.eu/ictresults/index.cfm/section/news/tpl/article/BrowsingType/Features/ID/89699">similar project</a> being funded in the European Union (EU).  TC-STAR is focused on being able to automatically translate speech in one of the 23 official EU languages to speech in one of the others.  Over a billion euros are being spent in translating services (documents and speech) every year by EU institutions.</p>
<p>The interesting feature is how the system is designed to work.  The input spoken word is first translated to text with Automatic Speech Recognition (ASR) software, the text is translated with Spoken Language Translation (SLT) software to the target language, and this text is used to generate spoken output with Text to Speech (TTS) software.  Over the course of the TC-STAR project, translation performance has improved from 40 percent to 60 percent. </p>
<p>A quad-core processor should be able to handle three applications running in cooperation.  Use of a single processor might even give a performance boost (over three single-core chips) by being able to pipeline results more efficiently.  No details were given in the article on what kind of processors were utilized, but there was mention of using several ASR and SLT systems to improve the translations.  This combination by itself would be a good use of multiple cores.</p>
<p>It will require the cooperation of aliens offering us their SLT and TTS pieces if we're going to be able to build a universal translator based on this technique.  I'm skeptical that dolphins would be able to give us any transcription software.  However, even without opposable thumbs, if we could give them access to water-proof laptops and C++ manuals, who knows what they might come up with.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Under the hood: Learning more about task scheduling</title>
		<link>http://softwareblogs.intel.com/2008/05/06/under-the-hood-learning-more-about-task-scheduling/</link>
		<comments>http://softwareblogs.intel.com/2008/05/06/under-the-hood-learning-more-about-task-scheduling/#comments</comments>
		<pubDate>Wed, 07 May 2008 00:24:25 +0000</pubDate>
		<dc:creator>Robert Reed (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Threading Building Blocks]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/06/under-the-hood-learning-more-about-task-scheduling/</guid>
		<description><![CDATA[I’m back with another challenge, encountered during my support work for Intel® Threading Building Blocks.  I’ve been working with several TBB users who appreciate the general philosophy of Cilk task scheduling embodied in TBB but have run into some practical challenges applying it to their applications.  Often the issue revolves around the need to block [...]]]></description>
			<content:encoded><![CDATA[<p>I’m back with another challenge, encountered during my support work for Intel® Threading Building Blocks.  I’ve been working with several TBB users who appreciate the general philosophy of <a href="http://supertech.csail.mit.edu/cilk/">Cilk</a> task scheduling embodied in TBB but have run into some practical challenges applying it to their applications.  Often the issue revolves around the need to block some computations until other computations complete.  It may be that they need to handle either inter-object or intra-object threading—their application may at different times encounter a bunch of objects to run in parallel or just one big object that could use several threads to chew on simultaneously.  Or they may have objects they need to compute upon which other objects are dependent—here it would be great to suspend dependent object processing while the weight of the associated threads is thrown to computing the shared object.</p>
<p>These are tough problems and I don’t have answers for them yet.  But I have a few ideas and I hope in the next few posts to share them and get community feedback that might inspire some solutions.  So bear with me as I stumble about and maybe we can all learn something.</p>
<p>Anyone who has had much exposure to presentations about Intel TBB has probably heard in one form or another the motto, “process locally, steal globally.”  The Cilk philosophy embodied in the TBB task scheduler is to constrain active threads to their own local region in memory to exploit any memory that may already reside in the caches of the processing element running that thread; meanwhile, idle threads should try to steal work from memory regions as yet untouched by the active thread(s) to avoid interrupting those running threads.</p>
<p>When one of my customers presented an example using a nested pair of parallel_for statements, I realized that all my knowledge on subject of scheduling was theoretical: I hadn’t dug down into the guts of this code.  Now might be the time. </p>
<p>First, here’s a sketch of the test code.  You’ll note an outer and inner loop with a lock on the outer and some spinning work on the inner.  This is intended to represent the structure of a program operating on a set of objects that block because of some postulated resource contention, and the inner loop represents the work done to compute that shared resource.  You’ll see that the lock is currently commented out.  When running this code on an 8-core machine, it will sometimes lock up.  Some ideas have been bounced around about why, but I’m curious whether I can demonstrate the workings of the problem rather than just speculating about it.  There’s also explicit references to the auto_partitioner, but with the advent of the affinity_partitioner, use of the auto_partitioner has been deprecated.  Still, we’ll start with this one and then see if we can tell the difference when looking under the hood.<br />
<a href="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050501.JPG" title="b08050501.JPG"><img src="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050501.JPG" alt="b08050501.JPG" /></a></p>
<p>So what’s going on here?  As is my wont, I turned to Intel® Thread Profiler for a first look at the processing:</p>
<p><a href="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050502.JPG" title="b08050502.JPG"><img src="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050502.JPG" alt="b08050502.JPG" /></a></p>
<p>Hrumph!  I can see eight threads cranking at the work, which is good because I’m running on an 8-core processor.  32% of the run time is spent at concurrency level 8.  Most of the time is spent in that serial tail that must represent startup processing, but the whole run is under 0.2 seconds so I suspect that’s a fixed overhead that will be negligible compared to the overall time of real work.  But that’s about all.  Zooming in on the high concurrency zone:<br />
<a href="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050503.JPG" title="b08050503.JPG"><img src="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050503.JPG" alt="b08050503.JPG" /></a></p>
<p>Where the work is done, the test is keeping 8 threads busy 94% of the time. But still there’s no clue about how the task scheduler is dividing the work, though it looks like it gets interesting towards the end of the run. Guess I’ll have to revert to an old standard, inserting print statements to expose what is happening in the code:<br />
<a href="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050504.JPG" title="b08050504.JPG"><img src="http://softwareblogs.intel.com/wordpress/wp-content/uploads/2008/05/b08050504.JPG" alt="b08050504.JPG" /></a></p>
<p>Unfortunately, while I can print out the loop bounds that tell me where I am in the nested executions of the array, I can’t print which thread is handling which range.  The TBB task object that might contain that information lies outside the scope of the outer_loop class.  Stuck.</p>
<p>But not for long.  In the evolving library that is Intel Threading Building Blocks, there is a new feature, available in at least the latest open source release (upgraded to Stable as <a href="http://threadingbuildingblocks.org/ver.php?fid=104">tbb20_20080408oss</a>), called <em>task_scheduler_observer</em>.  I’ve implemented an observer that lets me identify which thread executes which range.  In my next post I will describe it and start exploring the behavior of the scheduler.  Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/06/under-the-hood-learning-more-about-task-scheduling/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Parallel computing: disappearing from CS curricula???</title>
		<link>http://softwareblogs.intel.com/2008/05/02/parallel-computing-disappearing-from-cs-curricula/</link>
		<comments>http://softwareblogs.intel.com/2008/05/02/parallel-computing-disappearing-from-cs-curricula/#comments</comments>
		<pubDate>Fri, 02 May 2008 22:18:23 +0000</pubDate>
		<dc:creator>Michael Wrinn (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/02/parallel-computing-disappearing-from-cs-curricula/</guid>
		<description><![CDATA[Now that multicore computing platforms are standard issue (can you even find a single-core system for sale?), a fraction of the academic community is beginning to at least think about adjusting their teaching focus, to align with this reality.
Given that context, it was startling to hear a panelist at IPDPS (in Miami, a couple of [...]]]></description>
			<content:encoded><![CDATA[<p>Now that multicore computing platforms are standard issue (can you even <em>find</em> a single-core system for sale?), a fraction of the academic community is beginning to at least think about adjusting their teaching focus, to align with this reality.</p>
<p>Given that context, it was startling to hear a panelist at <strong>IPDPS</strong> (in Miami, a couple of weeks ago) assert that parallel-processing topics have been <em>disappearing</em> from CS curricula in recent years. As anecdotal evidence, he pointed out the topic’s removal in the 2<sup>nd</sup> edition of <em>Introduction to</em> <em>Algorithms</em> (the elegant tome otherwise known by its authors’ initials, CLRS).</p>
<p>Could this possibly be true? Before rushing off to blog, I had to check. First, find an old copy of CLRS, oops, CLR in those days. Sure enough, there was a whole chapter called “Algorithms for parallel computers” which had gone missing in the current edition. Hmm, perhaps parallel concepts were infused into the overall approach? After a couple of long evenings getting reacquainted with CLRS, I had to conclude: no, it’s simply disappeared.</p>
<p>But perhaps this example is a weird one-off, a singular anomaly offset by broader trends? After all, schools like UC Berkeley introduce concurrency in the freshman course, and we here at ISC work with many schools on this topic. Further, googling the obvious keywords pops over a million hits, so things would appear to be, reassuringly, busy.</p>
<p>No. The panelist’s observation is accurate. If anything, the situation is worse than described. Here are some unhappy details:</p>
<p>Way back in <strong>1995, IEEE Computer</strong> published an article, <em>Parallel Computing in the Undergraduate Curriculum</em>, by profs at Colgate. As stated in the abstract, “The author describes how parallel computing can be integrated into courses throughout the computer science undergraduate curriculum.”</p>
<p>Good stuff. So, what is Colgate doing now, 13 years later? There is one course on the topic, at the advanced level only, and it is NOT required for the CS major.</p>
<p>Still 1995: the <strong>First Wellesley Forum on Parallel Computing Curricula</strong>. Brown university presents a paper called <em>Integrating Parallelism into the First Theory Course</em></p>
<p>Good stuff. So, what is Brown doing now, 13 years later? They list a single grad course, offered occasionally -- btw NOT this year.</p>
<p>Forward a couple years, to <strong>ITiCSE ’97</strong>. George  Washington University presents a paper, <em>Concurrent programming CAN be introduced into the lower-level undergraduate curriculum. </em>They even refer back to ACM standardization efforts in this area, from 1991.</p>
<p>Good stuff. So what is GW doing now, 11 years later? At last, something: in one required course, called<strong> </strong>Software Paradigms, we read among the topics:<strong> “</strong>concurrent software design paradigms and patterns”. Excellent. I’m going to contact this prof, Michael Feldman, maybe buy him a beer – uh, hold that thought, Feldman is listed as retired…</p>
<p>One more. Forward to the <strong>OOPSLA 1998 Educators’ Symposium</strong>, where Loyola of Chicago is arguing: “that a computer-science curriculum should introduce the principles of concurrent programming in an integrated, coherent, and application-independent fashion early in the major.”</p>
<p>Good stuff. So, what is Loyola doing now, 10 years later? Sigh. One advanced class, NOT required for the CS major. No evidence of concurrency in other courses.</p>
<p>The pattern is monotonously repetitive. Forward-looking academics looked at the parallel computing challenge a decade ago, announced they would champion a solution, and saw their efforts, for the most part, defeated. What happened??</p>
<p>I’m headed to <strong>ITiCSE ’08</strong>, in Madrid this summer, to tilt at this windmill myself. Those of us looking to retire the now-obsolete sequential assumptions, baked into 50 years of CS curricula, do enjoy one serious advantage not available to those courageous predecessors: multicore computing platforms are now the norm. Recognizing that reality, let’s make the adjustment time short.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/02/parallel-computing-disappearing-from-cs-curricula/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dave, talking about OpenSolaris on Xeon</title>
		<link>http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/</link>
		<comments>http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:56:47 +0000</pubDate>
		<dc:creator>David Stewart (Intel)</dc:creator>
		
		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/</guid>
		<description><![CDATA[Thanks to my good friends in our SSG Marketing group, I did a 5 minute video on the work we're doing at Intel to enhance OpenSolaris for our processors.  Here is the URL - http://softwarecommunity.intel.com/videos/home.aspx?fn=1490:

Of course, none of this would be possible without the awesome work from very talented engineers.  My thanks to [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to my good friends in our SSG Marketing group, I did a 5 minute video on the work we're doing at Intel to enhance OpenSolaris for our processors.  Here is the URL - <a href="http://softwarecommunity.intel.com/videos/home.aspx?fn=1490">http://softwarecommunity.intel.com/videos/home.aspx?fn=1490</a>:<br />
<center><embed src="http://blip.tv/play/AbXIVQA" type="application/x-shockwave-flash" width="640" height="510" allowscriptaccess="always" allowfullscreen="true"></embed></center><br />
Of course, none of this would be possible without the awesome work from very talented engineers.  My thanks to them!!</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/30/dave-talking-about-opensolaris-on-xeon/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
