[Rd] R thread safe

Ted Byers r.ted.byers at gmail.com
Wed Mar 18 15:11:25 CET 2009


On Wed, Mar 18, 2009 at 9:28 AM, Simon Urbanek
<simon.urbanek at r-project.org> wrote:
> Things cannot happen if you don't ask ...
>
> Cheers,
> Simon
>
Then I have two questions.

1) What multicore package?  I didn't know there was one, and would be
interested in seeing what it does.

2) Has there been any consideration of using Intel's threading
building blocks library?  They do have an open source version. It can
apparently be built on Unix and Windows, and since it is open source,
you can adapt it to any platform that you need to support if there is
one that it doesn't presently support. And it allows a programmer to
work at a higher logical level than if he focussed largely on the
lower level details of creating and managing threads (for example, one
can create a 'parrallel for loop' and the library, once properly
initialized, will handle creating and cleaning up after any new
threads that may be needed): now that is a freedom in multithreaded
programming I truly appreciate.  According to the documentation I have
read, it scales well to larger numbers of processors or cores.  The
code in it that I have studied is all C++, so if there is much C++
code in R, it presents an option.  I do know, though, that in my C++
code where it would provide a benefit (mostly vector and matrix
algebra), most of it would need to be completely rewritten.  It does
present a rather different way of thinking about multithreaded
programming (it reminds me of the sort of thing I did when writing
code to run on a supercomputer supporting vector algebra decades ago).
 With ITT, if Lapack was rewritten to take advantage of it, much of
the code would look quite different from what it does today.  Of
course, if you're already using it, I might as well shut up and go
away.  ;-)  I am just learning to use it, as I am just learning to use
R, so I am afraid I can't offer much more info than this, though.

Cheers,

Ted



More information about the R-devel mailing list