XNA Multithreading: Must Set Processor Affinity Manually

\<a href="http://www.knowing.net/images/XNAMultithreadingMustSetProcessorAffinit_7800/image011.png"" atomicselection="true">

Ah, that's more like it. This is a graph of duration (in seconds) versus the number of threads during a calculation of a Mandelbrot set using the XNA Framework on the XBox 360 (Neil: The previous graph …

more ...

XNA Multithreading: Built On A Throne of Lies?

UPDATE: See this new post ~~It looks like XNA does not distribute processing across the multiple cores of the 360:~~

This is identical code (a Mandelbrot calculation of a fixed size) running with multiple threads. While my desktop machine speeds up with more threads (peaking at 3), the XBox 360 …

more ...

My First XNA Program: Up And Running on the 360

Sweet. Stay tuned for performance benchmarks, concurrency and GPGPU programming experiments on the 360, and maybe even some games...Maybe even a domain-specific language for writing board games.

more ...

Implementing Dataflow with Threads

Here's a scholarly, but clearly written, article on a generalized algorithm for implementing dataflow using shared memory. Dataflow is a very intuitive calculation model (think "spreadsheet"). When I saw this paper I thought "Wasn't it known that dataflow could be automatically parallelized?" but maybe not. One way or the other …

more ...

XNA First Impressions

I spent about an hour last night playing with the release of XNA Game Studio. My first impression is that someone at Microsoft needs to contract me to write some tutorials! Heh heh heh.

Actually, I'm greatly looking forward to incorporating XNA into a series of articles I'm pitching on …

more ...

Ruby Threads Are Actually Single-Process

Prob'ly all real Rubists know this, but I was disappointed to discover that Ruby's threading is implemented in the Ruby interpreter's process and, within that, does not take advantage of the native system's threading capabilities. Although I assume that this is an implementation detail and not part of the language …

more ...

Exceptions in the Manycore Era

Here's some interesting reading on the challenges of and possible strategies for dealing with exceptions in concurrent versions of C++. The try...catch...finally model of exception handling introduces its own control flow. How will that interact with concurrent models in which you're passing around a "future" (essentially, an IOU …

more ...

When Things Go Awry Writing

I've been writing a series of articles for DevX on concurrent programming. The final installment was supposed to be "Multicore for multimedia." Plan A was to speed up the MAD (MPEG Audio Decoder) processing library using OpenMP. That went well enough except for the fact that the code was so …

more ...

Are the CLR & JVM Well Suited For The Manycore Era?

Patrick Logan refers to Ted Leung observing that quad-core and octo-core MacPros don't show anything like linear speedup. This accords with my own fanaticism about the manycore future. A question I don't know the answer to: Do the CLR & JVM have characteristics that dramatically help or dramatically hinder their suitability …

more ...

Sun Hires JRuby Developers: How Much To Read Into This?

Sun has hired Charles Oliver Nutter and Thomas Enebo, the two core JRuby developers with the charge of bringing JRuby to fruition.

I've held for a while now that the crucial step for Ruby to cross the chasm and become an "early majority" language was hosting / 100% transparent interop with …

more ...