Archives

Posts from James Reinders (Intel) RSS

James Reinders (Intel)

James Reinders is an expert in the area of parallelism, Intel’s leading spokesperson on tools for parallelism, and author of the O’Reilly Nutshell book on the C++ extensions for parallelism provided by the popular Intel Threading Building Blocks. James has decades of experience with high degrees of parallelism having worked on groundbreaking compilers and architectures such as the systolic arrays WARP and iWarp, and the world’s first TeraFLOP supercomputer (ASCI Red). James is author and co-author of several books in addition to the recent Threading Building Blocks Nutshell book.

When test suites fail us (when they meet parallelism).

By James Reinders (Intel) (12 posts) on October 9, 2009 at 2:00 pm
Comments (1)

Another week and another customer shared how messed up their test suites were because of parallel programming. So where are we going wrong? First, it is natural to feel confused and disoriented when a failure "escapes" into the wild.  In other words, when a bug is not caught by our test suites it is natural to [...]

Continued ›

Category: Parallel Prog. & Multi-Core, Software Engineering

Applications for the "Ct technology" beta program are now open.

By James Reinders (Intel) (12 posts) on September 23, 2009 at 2:55 pm
Comments (0)

Today, at Intel's Developer Forum, we kicked off the application process for our upcoming beta of a product using "Ct technology."  The beta is not yet ready, but we may favor those who apply early to join our program.  (Hint, Hint) More information about "Ct technology" and the ability to apply for the beta program is [...]

Continued ›

Category: Uncategorized

Presentations at IDF about Software Tools, available for download

By James Reinders (Intel) (12 posts) on September 23, 2009 at 2:52 pm
Comments (0)

Today, at Intel's Developer Forum, we have taught many classes on our tools, and have a few left to go. If you could not join us in San Francisco, the presentations are available online for downloading at intel.com/go/idfsessions. My talks, including one today with Steve Teixeira of Microsoft, can be found searching for LAST NAME of "Reinders." Today's class was a [...]

Continued ›

Category: Intel SW Partner Program, Parallel Prog. & Multi-Core, Threading Building Blocks

Rapidmind + Intel

By James Reinders (Intel) (12 posts) on August 19, 2009 at 10:25 am
Comments (6)

Data Parallelism need not seem like parallelism when writing software. The advantages in avoiding “feeling like you have to learn, or deal with, parallelism” are substantial. Imagine programming, feeling familiar and intuitive, which is scalable for more and more processor cores and has safety by default (safety from data races and deadlock). That’s been our [...]

Continued ›

Category: Parallel Prog. & Multi-Core

Version 2.2, Intel Threading Building Blocks, worth a look

By James Reinders (Intel) (12 posts) on August 4, 2009 at 7:11 am
Comments (5)

If you write C or C++ code, and you haven’t given Intel Threading Building Blocks (TBB) a try, you really should. Intel Threading Building Blocks has emerged as the most popular high level programming method for writing parallel programs (see Evans Data Corp: http://www.evansdata.com/research/market_alerts.php). The low level methods (using pthreads or Windows threads directly) popular [...]

Continued ›

Category: Open Source, Parallel Prog. & Multi-Core, Threading Building Blocks

parallel_for is easier with lambdas, Intel Threading Building Blocks

By James Reinders (Intel) (12 posts) on August 3, 2009 at 10:34 pm
Comments (4)

Lambdas are an exciting new addition to C++ in the current draft for C++ 0x. (see my prior post for "Hello Lambda" - my introduction to Lambdas). The Intel compilers support them now in the Intel compiler products, and Microsoft has support in their beta for Visual Studio 2010. I think we can expect to [...]

Continued ›

Category: Open Source, Parallel Prog. & Multi-Core, Threading Building Blocks

"Hello Lambdas" C++ 0x, a quick guide to Lambdas in C++

By James Reinders (Intel) (12 posts) on August 3, 2009 at 10:31 pm
Comments (6)

The current draft of the new C++ 0x standard includes lambda functions. I think we can expect this to be very popular. I'll show a "Hello, World" example, and then explain the syntax very briefly. In a future posting I’ll write about lambdas and their use with Intel Threading Building Blocks. Hello, Lambdas, version 1: template<typename F> [...]

Continued ›

Category: Software Engineering, Threading Building Blocks

Cilk + Intel

By James Reinders (Intel) (12 posts) on July 31, 2009 at 7:54 pm
Comments (1)

Parallelism can be smooth as Cilk? (pronounced "Silk") If you've visited cilk.com today, you see that the Cilk engineering team has joined Intel. I was surprised how fast I've gotten questions from a note on the Cilk web site on a Friday afternoon - it happened only minutes after the posting!  I've been a follower of Cilk [...]

Continued ›

Category: Parallel Prog. & Multi-Core

Parallel programming is fundamental, High School here we come

By James Reinders (Intel) (12 posts) on July 17, 2009 at 7:48 am
Comments (6)

Teaching programming and teaching parallel programming - should they be different? I don't think so. We've always had many elements to teach when we teach programming - data structures, algorithms, databases, parsing, scheduling, etc. Parallelism is yet-another item to throw on the list of things to teach as part of programming. With the introduction of multicore processors, it [...]

Continued ›

Category: Academic, Parallel Prog. & Multi-Core

Updates today for our compilers, libraries and cluster toolkits

By James Reinders (Intel) (12 posts) on June 23, 2009 at 9:29 am
Comments (2)

Today we released updates for our C++ and Fortran compilers, our Intel Math Kernel (MKL) and Intel Integrated Performance Primitives (IPP) libraries and Cluster toolkits. Noteworthy additions include outstanding performance enhancements, support of Intel® Advanced Vector Extensions (AVX) and inclusion of some elements that debuted in Intel® Parallel Studio last month. I can share some notes on [...]

Continued ›

Category: Intel® Software Network 2.0, Parallel Prog. & Multi-Core

on Processors, Cores and Hardware threads

By James Reinders (Intel) (12 posts) on October 29, 2008 at 4:07 pm
Comments (3)

In discussing the ins and outs of parallel programming, we need to distinguish between the terms processor, processor core and hardware threads. It is easy to be imprecise and say 'processors' sometimes when we mean 'processor cores' - but with multicore processors being everywhere it seems that more and more we are getting used to talking about processors [...]

Continued ›

Category: Parallel Prog. & Multi-Core, Threading Building Blocks

Parallelism tidbits heard at PDC

By James Reinders (Intel) (12 posts) on October 27, 2008 at 6:41 pm
Comments (3)

Here at Microsoft's Professional Developers Conference, I'm busy attending every session they have on parallelism.  Microsoft engineers deserve high marks for talking about parallelism at PDC very well - not hyping it, not ducking it - very good presentations.  I suspect much of it will end up on Channel 9 and will be worth watching [...]

Continued ›

Category: Parallel Prog. & Multi-Core, Threading Building Blocks