Cyril Zeller introduces NVIDIA CUDA development, showing how to write and execute C programs on the GPU, how to manage GPU memory and communication with the CPU.
Trisha Gee introduces Disruptor, a concurrency framework based on a data structure – a ring buffer – that enables fast message passing in a parallel environment.
Steve Vinoski believes that actor-oriented languages such as Erlang are better prepared for the challenges of the future: cloud, multicore, high availability and fault tolerance.
Joshua Bloch, Robert Bocchino, Sebastian Burckhardt, Hassan Chafi, Russ Cox, Benedict Gaster, Guy Steele, David Ungar, and Tucker Taft discuss the future of computing in a multicore world.
Danny Coward talks on how Oracle intends to maintain Java in the front line by investing in two features that are trendy today: support for multiple JVM languages and parallel programming.
Stuart Halloway discusses how we use a total control time model, proposing a different one that represents the world more accurately helping to solve some of the concurrency and parallelism problems.
Dale Schumacher explains the actor concept and how it helps us build a computational model resembling the reality around us more accurately than the object-oriented model.
Ralph Johnson presents several data parallelism patterns, including related Java, C# and C++ libraries from Intel and Microsoft, comparing it with other forms of parallelism such as actor programming.
Ralph Johnson presents several data parallelism patterns, including related libraries from Intel and Microsoft, comparing it with other forms of parallel programming such as actor programming.
Guy L. Steele Jr. believes that programmers should not think about parallelism, but languages should provide ways to transparently run tasks in parallel by supporting independence-based constructs.
Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate, and Ted Neward (moderator) hold a discussion on the future of programming taking questions from the audience.
Don Syme on functional languages features, showing why and when they are useful for parallel programming: simplicity, composability, immutability, lightweight reaction, translations, data parallelism.