I've spoken and written on these topics before. Here's what's different about this talk:

Brand new: This material goes beyond what I've written and taught about before in my Effective Concurrency articles and courses.

Cutting-edge current: It covers the best-practices state of the art techniques and shipping tools, and what parts of that are standardized in C++11 already (the answer to that one may surprise you!) and what's en route to near-term standardization and why, with coverage of the latest discussions.

Blocking vs. non-blocking: What's the difference between blocking and non-blocking styles, why on earth would you care, which kinds does C++11 support, and how are we looking at rounding it out in C++1y?

The answers all matter to you – even the ones not yet in the C++ standard – because they are real, available in shipping products, and affect how you design your software today.

]]>https://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012-Herb-Sutter-Concurrency-and-ParallelismHerb Sutter presents C&#43;&#43; Concurrency. This was filmed at C&#43;&#43; and Beyond 2012. Get Herb's slides for this session. Herb says: I've spoken and written on these topics before. Here's what's different about this talk: Brand new: This material goes beyond what I've written and taught about before in my Effective Concurrency articles and courses. Cutting-edge current: It covers the best-practices state of the art techniques and shipping tools, and what parts of that are standardized in C&#43;&#43;11 already (the answer to that one may surprise you!) and what's en route to near-term standardization and why, with coverage of the latest discussions. Blocking vs. non-blocking: What's the difference between blocking and non-blocking styles, why on earth would you care, which kinds does C&#43;&#43;11 support, and how are we looking at rounding it out in C&#43;&#43;1y? The answers all matter to you – even the ones not yet in the C&#43;&#43; standard – because they are real, available in shipping products, and affect how you design your software today. 4538https://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012-Herb-Sutter-Concurrency-and-Parallelism
Fri, 04 Jan 2013 15:42:32 GMThttps://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012-Herb-Sutter-Concurrency-and-ParallelismCharlesCharles33https://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012-Herb-Sutter-Concurrency-and-Parallelism/RSSC++ConcurrencyParallelismProgrammingHerb SutterC++11C++ and Beyond 2012Cartoonizer - C++ AMP sampleHi, I am Daniel Moth

]]>https://channel9.msdn.com/Blogs/DanielMoth/Morph-C-AMP-sampleHi, I am Daniel Moth This screencast demonstrates one of our C&#43;&#43; AMP sample apps: Morph. You can learn more about the sample and download the Visual Studio project with all the code from the corresponding blog post. To learn more please visit the C&#43;&#43; AMP blog, and we encourage C&#43;&#43; AMP questions in the Parallel Computing in C&#43;&#43; and Native Code MSDN forum. 445https://channel9.msdn.com/Blogs/DanielMoth/Morph-C-AMP-sample
Fri, 10 Aug 2012 02:26:47 GMThttps://channel9.msdn.com/Blogs/DanielMoth/Morph-C-AMP-sampleDaniel MothDaniel Moth2https://channel9.msdn.com/Blogs/DanielMoth/Morph-C-AMP-sample/RSSC++GPGPUParallel ComputingParallel Computing PlatformParallelismVisual StudioC++ AMPC++ Accelerated Massive ParallelismGPU debugging in Visual Studio 2012Hi, I am Daniel Moth

This screencast assumes knowledge of the C++ AMP API, e.g. that you totally understand the matrix multiplication implementation in C++ AMP. So if you satisfy that prerequisite, watch this screencast on what features are available in Visual Studio 2012 for debugging C++ AMP code.

]]>https://channel9.msdn.com/Blogs/DanielMoth/GPU-debugging-in-Visual-Studio-2012Hi, I am Daniel Moth This screencast assumes knowledge of the C&#43;&#43; AMP API, e.g. that you totally understand the matrix multiplication implementation in C&#43;&#43; AMP. So if you satisfy that prerequisite, watch this screencast on what features are available in Visual Studio 2012 for debugging C&#43;&#43; AMP code. To learn more please visit the C&#43;&#43; AMP blog, and we encourage C&#43;&#43; AMP questions in the Parallel Computing in C&#43;&#43; and Native Code MSDN forum. 951https://channel9.msdn.com/Blogs/DanielMoth/GPU-debugging-in-Visual-Studio-2012
Wed, 11 Jul 2012 01:34:30 GMThttps://channel9.msdn.com/Blogs/DanielMoth/GPU-debugging-in-Visual-Studio-2012Daniel MothDaniel Moth6https://channel9.msdn.com/Blogs/DanielMoth/GPU-debugging-in-Visual-Studio-2012/RSSC++DebuggingGPGPUparallel DebuggingParallel ComputingParallel Computing PlatformParallelismVisual StudioVisual Studio DebuggerC++ AMPC++ Accelerated Massive ParallelismMatrix Multiplication with C++ AMPHi, I am Daniel Moth

This screencast assumes knowledge of the C++ AMP API, i.e. the simple model and the tiled model, and here we look at a common algorithm (matrix multiplication) and convert it from serial on the CPU, to run on the GPU, first with the simple model and then tiled.

]]>https://channel9.msdn.com/Blogs/DanielMoth/Matrix-Multiplication-with-C-AMPHi, I am Daniel Moth This screencast assumes knowledge of the C&#43;&#43; AMP API, i.e. the simple model and the tiled model, and here we look at a common algorithm (matrix multiplication) and convert it from serial on the CPU, to run on the GPU, first with the simple model and then tiled. To learn more please visit the C&#43;&#43; AMP blog, and we encourage C&#43;&#43; AMP questions in the Parallel Computing in C&#43;&#43; and Native Code MSDN forum. 1094https://channel9.msdn.com/Blogs/DanielMoth/Matrix-Multiplication-with-C-AMP
Wed, 04 Jul 2012 00:38:40 GMThttps://channel9.msdn.com/Blogs/DanielMoth/Matrix-Multiplication-with-C-AMPDaniel MothDaniel Moth8https://channel9.msdn.com/Blogs/DanielMoth/Matrix-Multiplication-with-C-AMP/RSSC++GPGPUParallel ComputingParallel Computing PlatformParallelismVisual StudioC++ AMPC++ Accelerated Massive ParallelismC++ AMP core API introduction... from scratchHi, I am Daniel Moth

This screencast assumes no knowledge of C++ AMP and introduces the core API from scratch. You'll see parallel_for_each, extent, index, restrict(amp), array_view, and accelerator. I will explain these concepts through a "hello world" code example in a step-by-step manner.

This screencast is a companion to my MSDN Magazine article that you can read online: Introduction to Tiling in C++ AMP. You will be introduced to the tiled_extent class, the tiled_index class, the tile_barrier class, and the tile_static storage class.

]]>https://channel9.msdn.com/Blogs/DanielMoth/Tiling-Introduction-C-AMP-msdn-mag-companionHi, I am Daniel Moth This screencast is a companion to my MSDN Magazine article that you can read online: Introduction to Tiling in C&#43;&#43; AMP. You will be introduced to the tiled_extent class, the tiled_index class, the tile_barrier class, and the tile_static storage class. To learn more please visit the C&#43;&#43; AMP blog, and we encourage C&#43;&#43; AMP questions in the Parallel Computing in C&#43;&#43; and Native Code MSDN forum. 977https://channel9.msdn.com/Blogs/DanielMoth/Tiling-Introduction-C-AMP-msdn-mag-companion
Thu, 31 May 2012 00:06:48 GMThttps://channel9.msdn.com/Blogs/DanielMoth/Tiling-Introduction-C-AMP-msdn-mag-companionDaniel MothDaniel Moth2https://channel9.msdn.com/Blogs/DanielMoth/Tiling-Introduction-C-AMP-msdn-mag-companion/RSSC++GPGPUParallel ComputingParallel Computing PlatformParallelismVisual StudioC++ AMPC++ Accelerated Massive ParallelismDEV281 - Visual Studio 11, .NET 4.5, and Parallelism LIVE Q&A with Colin Bowern

Live Q&A with Colin Bowern.

DEV281 - Visual Studio 11, .NET 4.5, and ParallelismWe're still a few months away from its release, but the beta version of Visual Studio 11 and .NET 4.5 is available and with a Go-Live license too. With Visual Studio, reduction and simplification are the keywords. For .NET, assistance with parallelism this session is the big topic. Between these and other topics, the tools that will make your development life easier are covered.

This session was recorded live at ObjectSharp's annual "At The Movies" event - May 1, 2012, Scotiabank Theatre, Toronto, Ontario.

]]>https://channel9.msdn.com/Blogs/techdaysca/DEV281QA Live Q&amp;A with Colin Bowern. DEV281 - Visual Studio 11, .NET 4.5, and ParallelismWe're still a few months away from its release, but the beta version of Visual Studio 11 and .NET 4.5 is available and with a Go-Live license too. With Visual Studio, reduction and simplification are the keywords. For .NET, assistance with parallelism this session is the big topic. Between these and other topics, the tools that will make your development life easier are covered. Watch the session &gt;&gt; This Session's Experts Colin Bowern (Blog, Twitter, LinkedIn) This session was recorded live at ObjectSharp's annual &quot;At The Movies&quot; event - May 1, 2012, Scotiabank Theatre, Toronto, Ontario. 355https://channel9.msdn.com/Blogs/techdaysca/DEV281QA
Tue, 22 May 2012 18:47:41 GMThttps://channel9.msdn.com/Blogs/techdaysca/DEV281QAColin Bowern, Jonathan RozenblitColin Bowern, Jonathan Rozenblit0https://channel9.msdn.com/Blogs/techdaysca/DEV281QA/RSSDeveloper ToolsMVCParallelismAsync CTP.NET Framework 4.5Visual Studio 11AsyncDEV281 - Visual Studio 11, .NET 4.5, and Parallelism

We're still a few months away from its release, but the beta version of Visual Studio 11 and .NET 4.5 is available and with a Go-Live license too. With Visual Studio, reduction and simplification are the keywords. For .NET, assistance with parallelism this session is the big topic. Between these and other topics, the tools that will make your development life easier are covered.

This session was recorded live at ObjectSharp's annual "At The Movies" event - May 1, 2012, Scotiabank Theatre, Toronto, Ontario.

]]>https://channel9.msdn.com/Blogs/techdaysca/DEV281 We're still a few months away from its release, but the beta version of Visual Studio 11 and .NET 4.5 is available and with a Go-Live license too. With Visual Studio, reduction and simplification are the keywords. For .NET, assistance with parallelism this session is the big topic. Between these and other topics, the tools that will make your development life easier are covered. Watch the live Q&amp;A with Colin Bowern &gt;&gt; This Session's Experts Colin Bowern (Blog, Twitter, LinkedIn) This session was recorded live at ObjectSharp's annual &quot;At The Movies&quot; event - May 1, 2012, Scotiabank Theatre, Toronto, Ontario. 1705https://channel9.msdn.com/Blogs/techdaysca/DEV281
Tue, 22 May 2012 17:18:20 GMThttps://channel9.msdn.com/Blogs/techdaysca/DEV281Colin Bowern, Jonathan RozenblitColin Bowern, Jonathan Rozenblit1https://channel9.msdn.com/Blogs/techdaysca/DEV281/RSSDeveloper ToolsMVCParallelismAsync CTP.NET Framework 4.5Visual Studio 11Asyncaccelerator - C++ AMP - msdn mag companion part 4Hi, I am Daniel Moth

]]>https://channel9.msdn.com/Blogs/DanielMoth/Setup-code-C-AMP-msdn-mag-companion-part-1Hi, I am Daniel Moth This screencast is one part of a 4-part series accompanying my MSDN Magazine article that you can read online: A Code-Based Introduction to C&#43;&#43; AMP. Please watch first the screencasts that precede this part, and then follow the links below to watch the screencasts that follow it. Setup code - C&#43;&#43; AMP - msdn mag companion part 1 array_view, extent, index - C&#43;&#43; AMP - msdn mag companion part 2 parallel_for_each - C&#43;&#43; AMP - msdn mag companion part 3 accelerator - C&#43;&#43; AMP - msdn mag companion part 4 To learn more please visit the C&#43;&#43; AMP blog, and we encourage C&#43;&#43; AMP questions in the Parallel Computing in C&#43;&#43; and Native Code MSDN forum. 384https://channel9.msdn.com/Blogs/DanielMoth/Setup-code-C-AMP-msdn-mag-companion-part-1
Thu, 12 Apr 2012 15:49:02 GMThttps://channel9.msdn.com/Blogs/DanielMoth/Setup-code-C-AMP-msdn-mag-companion-part-1Daniel MothDaniel Moth2https://channel9.msdn.com/Blogs/DanielMoth/Setup-code-C-AMP-msdn-mag-companion-part-1/RSSC++GPGPUParallel ComputingParallel Computing PlatformParallelismVisual StudioC++ AMPC++ Accelerated Massive ParallelismC++ AMP: Development Team RoundtableC++ AMP (Accelerated Massive Parallelism) is a small set of open specification language extensions (two of them) and a single library (amp.h) that makes general purpose GPU programming (aka GPGPU) a first class, seamless experience in modern C++.

You've been able to experiment with C++ AMP since the VS11 Developer Preview back in September 2011. We figured it was a good time to go C9 on the C++ AMP team. So, we did. Four interviews have been conducted that pretty thoroughly cover C++ AMP and the people who design, implement, and test it. C++ AMP is a great technology for native developers seeking to harness the power of the GPU using the language and tools they are already comfortable with. C++ AMP is also an open specification and we'll see other compiler vendors producing C++ AMP implementations for their target platforms soon—that's been the goal since Day 1.

Here, we meet the C++ AMP development team: Team leader Don McCrady, Dev Amit Agarwal, Dev Charles Fu, Dev Lingli Zhang, Dev Simon Wybranski, Dev Steve Deitz and Dev Weirong Zhu. Tune in to understand how C++ AMP is made and how it may evolve. These are among my favorite types of interviews. I love talking to developers. Tune in. Learn.

]]>https://channel9.msdn.com/Shows/Going+Deep/C-AMP-The-Development-Team-Technical-RoundtableC&#43;&#43; AMP (Accelerated Massive Parallelism) is a small set of open specification language extensions (two of them) and a single library (amp.h) that makes general purpose GPU programming (aka GPGPU) a first class, seamless experience in modern C&#43;&#43;. You've been able to experiment with C&#43;&#43; AMP since the VS11 Developer Preview back in September 2011. We figured it was a good time to go C9 on the C&#43;&#43; AMP team. So, we did. Four interviews have been conducted that pretty thoroughly cover C&#43;&#43; AMP and the people who design, implement, and test it. C&#43;&#43; AMP is a great technology for native developers seeking to harness the power of the GPU using the language and tools they are already comfortable with. C&#43;&#43; AMP is also an open specification and we'll see other compiler vendors producing C&#43;&#43; AMP implementations for their target platforms soon—that's been the goal since Day 1. Here, we meet the C&#43;&#43; AMP development team: Team leader Don McCrady, Dev Amit Agarwal, Dev Charles Fu, Dev Lingli Zhang, Dev Simon Wybranski, Dev Steve Deitz and Dev Weirong Zhu. Tune in to understand how C&#43;&#43; AMP is made and how it may evolve. These are among my favorite types of interviews. I love talking to developers. Tune in. Learn.See Part 1 - Daniel Moth: AMP OverviewSee Part 2 - Yossi Levanoni: AMP Architecture and DesignSee Part 4 - The Test Team Hallway Office Tour 3176https://channel9.msdn.com/Shows/Going+Deep/C-AMP-The-Development-Team-Technical-Roundtable
Thu, 23 Feb 2012 18:54:05 GMThttps://channel9.msdn.com/Shows/Going+Deep/C-AMP-The-Development-Team-Technical-RoundtableCharlesCharles2https://channel9.msdn.com/Shows/Going+Deep/C-AMP-The-Development-Team-Technical-Roundtable/RSSC++ParallelismVisual StudioParallel Patterns LibraryC++ AMPC++11_techmemeC++ Accelerated Massive ParallelismC++ AMP: Yossi Levanoni - Architecture and DesignC++ AMP (Accelerated Massive Parallelism) is a small set of open specification language extensions (two of them) and a single library (amp.h) that makes general purpose GPU programming (aka GPGPU) a first class, seamless experience in modern C++.

You've been able to experiment with C++ AMP since the VS11 Developer Preview back in September 2011. We figured it was a good time to go C9 on the C++ AMP team. So, we did. Four interviews have been conducted that pretty thoroughly cover C++ AMP and the people who design, implement, and test it. C++ AMP is a great technology for native developers seeking to harness the power of the GPU using the language and tools they are already comfortable with. C++ AMP is also an open specification and we'll see other compiler vendors producing C++ AMP implementations for their target platforms soon—that's been the goal since Day 1.

Continuing with our four part series, we meet one of the architects of C++ AMP, Yossi Levanoni. You've met him before on C9. In this conversation, we go deeper into the design of C++ AMP (including exploring what led to some of the design decisions) and, of course, Yossi draws diagrams on the whiteboard like all architects must! You'll learn quite a bit about how C++ AMP works and why. Thanks for spending time with us, Yossi, and I'm sorry for mangling your last name!

]]>https://channel9.msdn.com/Shows/Going+Deep/C-AMP-Yossi-Levanoni-Architecture-and-DesignC&#43;&#43; AMP (Accelerated Massive Parallelism) is a small set of open specification language extensions (two of them) and a single library (amp.h) that makes general purpose GPU programming (aka GPGPU) a first class, seamless experience in modern C&#43;&#43;. You've been able to experiment with C&#43;&#43; AMP since the VS11 Developer Preview back in September 2011. We figured it was a good time to go C9 on the C&#43;&#43; AMP team. So, we did. Four interviews have been conducted that pretty thoroughly cover C&#43;&#43; AMP and the people who design, implement, and test it. C&#43;&#43; AMP is a great technology for native developers seeking to harness the power of the GPU using the language and tools they are already comfortable with. C&#43;&#43; AMP is also an open specification and we'll see other compiler vendors producing C&#43;&#43; AMP implementations for their target platforms soon—that's been the goal since Day 1. Continuing with our four part series, we meet one of the architects of C&#43;&#43; AMP, Yossi Levanoni. You've met him before on C9. In this conversation, we go deeper into the design of C&#43;&#43; AMP (including exploring what led to some of the design decisions) and, of course, Yossi draws diagrams on the whiteboard like all architects must! You'll learn quite a bit about how C&#43;&#43; AMP works and why. Thanks for spending time with us, Yossi, and I'm sorry for mangling your last name!See Part 1 - Daniel Moth: OverviewSee Part 3 - The AMP Development Team RoundtableSee Part 4 - The AMP Test Team Hallway Office Tour 2047https://channel9.msdn.com/Shows/Going+Deep/C-AMP-Yossi-Levanoni-Architecture-and-Design
Wed, 22 Feb 2012 18:07:44 GMThttps://channel9.msdn.com/Shows/Going+Deep/C-AMP-Yossi-Levanoni-Architecture-and-DesignCharlesCharles10https://channel9.msdn.com/Shows/Going+Deep/C-AMP-Yossi-Levanoni-Architecture-and-Design/RSSC++GPGPUParallelismVisual StudioParallel Patterns LibraryC++ AMPC++11_techmemeC++ Accelerated Massive ParallelismC++ AMP: Daniel Moth - OverviewC++ AMP (Accelerated Massive Parallelism) is a small set of open specification language extensions (two of them) and a single library (amp.h) that makes general purpose GPU programming (aka GPGPU) a first class, seamless experience in modern C++.

You've been able to experiment with C++ AMP since the VS11 Developer Preview back in September 2011. We figured it was a good time to go C9 on the C++ AMP team. So, we did. Four interviews have been conducted that pretty thoroughly cover C++ AMP and the people who design, implement, and test it. C++ AMP is a great technology for native developers seeking to harness the power of the GPU using the language and tools they are already comfortable with. C++ AMP is also an open specification and we'll see other compiler vendors producing C++ AMP implementations for their target platforms soon—that's been the goal since Day 1.

PMs are responsible for documenting the vision, building the execution plans to turn the vision into a real project, manage the project to completion, ship the result of the project and to attract and work with customers to help them understand what the product means for them and why it matters to their business. It's quite a job. Daniel is one part of a team of engineers that consists of program management (Daniel), architecture (Yossi Levanoni is one of the architects of AMP and you'll meet him (again) in one these interviews), development (you'll meet the AMP dev team soon, round-table style), and test (you'll meet the AMP test team soon, hallway-tour style).

So, tell us what C++ AMP is and why it matters, Daniel. Give us some context and history. What's going on here? What's next?

Tune in and meet the people behind the restrict(ion)s, kernels, etc. It's GPGPU time on C9. Enjoy.

]]>https://channel9.msdn.com/Blogs/Charles/C-AMP-Daniel-Moth-OverviewC&#43;&#43; AMP (Accelerated Massive Parallelism) is a small set of open specification language extensions (two of them) and a single library (amp.h) that makes general purpose GPU programming (aka GPGPU) a first class, seamless experience in modern C&#43;&#43;. You've been able to experiment with C&#43;&#43; AMP since the VS11 Developer Preview back in September 2011. We figured it was a good time to go C9 on the C&#43;&#43; AMP team. So, we did. Four interviews have been conducted that pretty thoroughly cover C&#43;&#43; AMP and the people who design, implement, and test it. C&#43;&#43; AMP is a great technology for native developers seeking to harness the power of the GPU using the language and tools they are already comfortable with. C&#43;&#43; AMP is also an open specification and we'll see other compiler vendors producing C&#43;&#43; AMP implementations for their target platforms soon—that's been the goal since Day 1. Get VC&#43;&#43;11 Beta Now - test out AMP!Here, we meet the legendary Daniel Moth. Daniel's actually been on C9 a few times and his technical screencasts are among the very best that have been produced for C9 (please make more, Daniel!!). Daniel is the C&#43;&#43; AMP program manager (PM). PMs are responsible for documenting the vision, building the execution plans to turn the vision into a real project, manage the project to completion, ship the result of the project and to attract and work with customers to help them understand what the product means for them and why it matters to their business. It's quite a job. Daniel is one part of a team of engineers that consists of program management (Daniel), architecture (Yossi Levanoni is one of the architects of AMP and you'll meet him (again) in one these interviews), development (you'll meet the AMP dev team soon, round-table style), and test (you'll meet the AMP test team soon, hallway-tour style). So, tell us what C&#43;&#43; AMP is and why it matters, Daniel. Give us some context and history. 1618https://channel9.msdn.com/Blogs/Charles/C-AMP-Daniel-Moth-Overview
Tue, 21 Feb 2012 16:34:51 GMThttps://channel9.msdn.com/Blogs/Charles/C-AMP-Daniel-Moth-OverviewCharlesCharles20https://channel9.msdn.com/Blogs/Charles/C-AMP-Daniel-Moth-Overview/RSSC++GPGPUParallelismVisual StudioParallel Patterns LibraryC++ AMPC++11_techmemeC++ Accelerated Massive ParallelismC&B 2011 Panel: Herb Sutter, Andrei Alexandrescu and Scott Meyers - Concurrency and ParallelismI was able to attend C++ and Beyond 2011 and it was a tremendous experience. The technical depth and C++ goodness was profound and lasted for 3 whole days (and two evenings). Thanks Andrei Alexandrescu, Scott Meyers and Herb Sutter for allowing me to crash your affair with my camera - which was perhaps too big and too advanced for the likes of me - still, I was abe to capture some great content like this interactive panel on Concurrency and Parallelism with Scott, Andrei andHerb. Great questions from attendees. Note that this is the second in a series of three panels from C++ and Beyond 2011 that will appear on C9 over the coming months.

Table of contents (click on the time code link to move the player to that point in time...):

[00:00] Using multiple cores for useful work...[01:56] Does C++AMP build on PPL?[02:48] What about operating system scheduling for GPU operations?[03:49] Transition from platform-specific memory models to a standard(ized) C++ memory model (C++11's MM, to be specific...).[06:41] Is there a performance penalty associated with a standard C++ memory model?[09:18] What about functional languages/techniques (with respect to parallel and concurrent programming)?[15:44] Which performance pitfalls we may pitfall into?[16:13] What about the work on ranges and wouldn't they help parallelism?[20:34] Fortran arrays have things like slices and strides. What about C++AMP?[22:42] Parallel debugging...[23:30] How baked is C++AMP?[25:26] On SIMD and MIMD...[34:20] Computation-following-data versus data-following-computation...

]]>https://channel9.msdn.com/Shows/Going+Deep/CB-2011-Panel-Herb-Sutter-Andrei-Alexandrescu-and-Scott-Meyers-Concurrency-and-ParallelismI was able to attend C&#43;&#43; and Beyond 2011 and it was a tremendous experience. The technical depth and C&#43;&#43; goodness was profound and lasted for 3 whole days (and two evenings). Thanks Andrei Alexandrescu, Scott Meyers and Herb Sutter for allowing me to crash your affair with my camera - which was perhaps too big and too advanced for the likes of me - still, I was abe to capture some great content like this interactive panel on Concurrency and Parallelism with Scott, Andrei and Herb. Great questions from attendees. Note that this is the second in a series of three panels from C&#43;&#43; and Beyond 2011 that will appear on C9 over the coming months. Make sure to check out all the C&amp;B 2011 content we're lucky enough to have stored on C9 Enjoy! Learn! Table of contents (click on the time code link to move the player to that point in time...): [00:00] Using multiple cores for useful work...[01:56] Does C&#43;&#43;AMP build on PPL?[02:48] What about operating system scheduling for GPU operations?[03:49] Transition from platform-specific memory models to a standard(ized) C&#43;&#43; memory model (C&#43;&#43;11's MM, to be specific...).[06:41] Is there a performance penalty associated with a standard C&#43;&#43; memory model?[09:18] What about functional languages/techniques (with respect to parallel and concurrent programming)?[15:44] Which performance pitfalls we may pitfall into?[16:13] What about the work on ranges and wouldn't they help parallelism?[20:34] Fortran arrays have things like slices and strides. What about C&#43;&#43;AMP?[22:42] Parallel debugging...[23:30] How baked is C&#43;&#43;AMP?[25:26] On SIMD and MIMD...[34:20] Computation-following-data versus data-following-computation... 2446https://channel9.msdn.com/Shows/Going+Deep/CB-2011-Panel-Herb-Sutter-Andrei-Alexandrescu-and-Scott-Meyers-Concurrency-and-Parallelism
Tue, 15 Nov 2011 14:00:00 GMThttps://channel9.msdn.com/Shows/Going+Deep/CB-2011-Panel-Herb-Sutter-Andrei-Alexandrescu-and-Scott-Meyers-Concurrency-and-ParallelismCharlesCharles3https://channel9.msdn.com/Shows/Going+Deep/CB-2011-Panel-Herb-Sutter-Andrei-Alexandrescu-and-Scott-Meyers-Concurrency-and-Parallelism/RSSC++ConcurrencyParallelismHerb SutterC++11Andrei AlexandrescuScott MeyersC++ and BeyondC++ and Beyond 2011Summer Interns 2011: Parallel Watch Visualizers for Visual Studio 11CS undergrads Jen Solyanik, Wes Rupert and Stephen Grugett join us to discuss their experiences and accomplishments as summer 2011 interns at Microsoft. They were part of a team of engineering interns whose technical challenge was to design and implement parallel visualization technology for Visual Studio 11. Tune in to find out what they did.

It's always inspiring to meet smart young people who are both passionate and skilled in the art and science of making software.

]]>https://channel9.msdn.com/Blogs/Charles/Summer-Interns-2011-Parallel-Watch-Visualizers-for-Visual-Studio-11CS undergrads Jen Solyanik, Wes Rupert and Stephen Grugett join us to discuss their experiences and accomplishments as summer 2011 interns at Microsoft. They were part of a team of engineering interns whose technical challenge was to design and implement parallel visualization technology for Visual Studio 11. Tune in to find out what they did. It's always inspiring to meet smart young people who are both passionate and skilled in the art and science of making software. Well done, team! Download the Parallel Watch Visualizers: http://visualstudiogallery.msdn.microsoft.com/384b40c9-b27f-4e32-a4df-1aab4c4c9c27 1043https://channel9.msdn.com/Blogs/Charles/Summer-Interns-2011-Parallel-Watch-Visualizers-for-Visual-Studio-11
Tue, 08 Nov 2011 18:17:19 GMThttps://channel9.msdn.com/Blogs/Charles/Summer-Interns-2011-Parallel-Watch-Visualizers-for-Visual-Studio-11CharlesCharles4https://channel9.msdn.com/Blogs/Charles/Summer-Interns-2011-Parallel-Watch-Visualizers-for-Visual-Studio-11/RSSparallel DebuggingParallelismSummer InternshipsVisual StudioVisualizationParallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2The Parallel Computing Concurrency Runtime team write tools for the C++ community that make it easier to write reliable, performant and scalable concurrent and parallel code. In this conversation, Mike Chu , Dana Groff, Artur Laksberg, and Vinod Koduvayoor Subramanian talk about their latest addition to the Parallel Patterns Library which provides wait-free concurrency programming by specifying tasks, the ability to schedule tasks on events and continuations that specify a task or tasks which are run after one or more tasks finish. What’s better is that much of this is available today through the ConcRT Extra’s “Sample Pack”.

Please download the sample pack, play with the new library, push it and provide feedback to the team. They really want and need your input to insure they deliver the right things for real world usage by C++ developers. Go native!

]]>https://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2 The Parallel Computing Concurrency Runtime team write tools for the C&#43;&#43; community that make it easier to write reliable, performant and scalable concurrent and parallel code. In this conversation, Mike Chu , Dana Groff, Artur Laksberg, and Vinod Koduvayoor Subramanian talk about their latest addition to the Parallel Patterns Library which provides wait-free concurrency programming by specifying tasks, the ability to schedule tasks on events and continuations that specify a task or tasks which are run after one or more tasks finish. What’s better is that much of this is available today through the ConcRT Extra’s “Sample Pack”. Please download the sample pack, play with the new library, push it and provide feedback to the team. They really want and need your input to insure they deliver the right things for real world usage by C&#43;&#43; developers. Go native!Watch part 2 1808https://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2
Wed, 09 Mar 2011 20:12:23 GMThttps://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2CharlesCharles13https://channel9.msdn.com/Shows/Going+Deep/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2/RSSC++C++0xParallel ComputingParallel Computing PlatformParallelismVisual C++ 2010Parallel Patterns LibraryC++11E2E: Concurrent Programming with Revisions

Building applications that are responsive and can exploit parallel hardware poses an important challenge. In particular, enabling applications to execute various tasks in parallel can be difficult if those tasks exhibit read and write conflicts. Revisions are forked and joined much like asynchronous tasks. However, rather than accessing global shared data directly (and thereby risking data races or atomicity violations), all revisions execute on a (conceptual) copy of the shared state, a "global mutable snapshot" so to speak. Any changes performed in a revision apply to that snapshot only, until the revision is joined at which the [sic] changes become globally effective [source = http://research.microsoft.com/en-us/projects/revisions/].

Here, Erik Meijer interrogates (in a nice way) computer scientists Daan Leijen and Sebastian Burckhardt, the researchers behind Revisions. As usual, Erik asks great questions and the scientists spend much of the time at the whiteboard, drawing and writing answers to clearly explain what revisions are, how they work, and why this model matters. In a nice twist of fate, Erik was Daan's PhD advisor at Utrecht University in the Netherlands (that must have been awesome—lucky Daan!).

Revisions are yet another example of the great work coming out of the RiSE group in MSR. You don't have to wait for a "CTP" of Revisions for C# -> Just go to http://rise4fun.com/Revisions and write some code! Thanks to Peli and the RiSE team developers for implementing such an awesome web-based experimentation sandbox.

Tune in. Learn. Enjoy.

]]>https://channel9.msdn.com/Shows/Going+Deep/E2E-Concurrent-Programming-with-Revisions Building applications that are responsive and can exploit parallel hardware poses an important challenge. In particular, enabling applications to execute various tasks in parallel can be difficult if those tasks exhibit read and write conflicts. Revisions are forked and joined much like asynchronous tasks. However, rather than accessing global shared data directly (and thereby risking data races or atomicity violations), all revisions execute on a (conceptual) copy of the shared state, a &quot;global mutable snapshot&quot; so to speak. Any changes performed in a revision apply to that snapshot only, until the revision is joined at which the [sic] changes become globally effective [source = http://research.microsoft.com/en-us/projects/revisions/]. Here, Erik Meijer interrogates (in a nice way) computer scientists Daan Leijen and Sebastian Burckhardt, the researchers behind Revisions. As usual, Erik asks great questions and the scientists spend much of the time at the whiteboard, drawing and writing answers to clearly explain what revisions are, how they work, and why this model matters. In a nice twist of fate, Erik was Daan's PhD advisor at Utrecht University in the Netherlands (that must have been awesome—lucky Daan!). Revisions are yet another example of the great work coming out of the RiSE group in MSR. You don't have to wait for a &quot;CTP&quot; of Revisions for C# -&gt; Just go to http://rise4fun.com/Revisions and write some code! Thanks to Peli and the RiSE team developers for implementing such an awesome web-based experimentation sandbox. Tune in. Learn. Enjoy. 4238https://channel9.msdn.com/Shows/Going+Deep/E2E-Concurrent-Programming-with-Revisions
Thu, 11 Nov 2010 17:54:37 GMThttps://channel9.msdn.com/Shows/Going+Deep/E2E-Concurrent-Programming-with-RevisionsCharlesCharles18https://channel9.msdn.com/Shows/Going+Deep/E2E-Concurrent-Programming-with-Revisions/RSSConcurrencyErik MeijerExpert to ExpertMicrosoft ResearchMS ResearchParallelismProgrammingRiSEExcel services for Windows HPC Server 2008R2Microsoft Excel has become an indispensible calculation, prototyping, and simulation tool that handles complex multi-variable models. A fictitious case study is described where the customer, an insurance underwriter, explores over one trillion scenarios to optimize investments that hedge its financial obligations. Integration of Excel 2010 and Windows HPC Server 2008 R2 maintains the Excel front end but offloads the calculation workload to the cluster. The result is a reduction of compute time by a factor of ten on a modest four-node cluster. ]]>https://channel9.msdn.com/Shows/The+HPC+Show/Excel-services-for-Windows-HPC-Server-2008R2 Microsoft Excel has become an indispensible calculation, prototyping, and simulation tool that handles complex multi-variable models. A fictitious case study is described where the customer, an insurance underwriter, explores over one trillion scenarios to optimize investments that hedge its financial obligations. Integration of Excel 2010 and Windows HPC Server 2008 R2 maintains the Excel front end but offloads the calculation workload to the cluster. The result is a reduction of compute time by a factor of ten on a modest four-node cluster. 412https://channel9.msdn.com/Shows/The+HPC+Show/Excel-services-for-Windows-HPC-Server-2008R2
Mon, 08 Nov 2010 04:01:37 GMThttps://channel9.msdn.com/Shows/The+HPC+Show/Excel-services-for-Windows-HPC-Server-2008R2Wenming YeWenming Ye0https://channel9.msdn.com/Shows/The+HPC+Show/Excel-services-for-Windows-HPC-Server-2008R2/RSSLinuxParallel ComputingParallelismparallelizationTechnical ComputingExcel 2010Stephen Toub - Implementing Parallel Patterns using .NET 4
parallel patterns paper. ]]>https://channel9.msdn.com/Blogs/Toub/Stephen-Toub-Parallel-Patterns-using-NET-4Stephen Toub presents on implementing parallel patterns using .NET 4. This 45-minute presentation's material is pulled from Stephen's
parallel patterns paper. 2861https://channel9.msdn.com/Blogs/Toub/Stephen-Toub-Parallel-Patterns-using-NET-4
Fri, 20 Aug 2010 15:14:00 GMThttps://channel9.msdn.com/Blogs/Toub/Stephen-Toub-Parallel-Patterns-using-NET-4Stephen ToubStephen Toub4https://channel9.msdn.com/Blogs/Toub/Stephen-Toub-Parallel-Patterns-using-NET-4/RSSParallel ComputingParallel Computing PlatformParallel ExtensionsParallelismCh9Live at VS2010 Launch - Stephen Toub on ParallelismThis session was recorded live as part of Channel 9 Live at the Visual Studio 2010 Launch from the Bellagio Hotel & Casino on April 12th 2010.]]>https://channel9.msdn.com/Blogs/NicFill/Ch9Live-at-VS2010-Launch-Stephen-Toub-on-ParallelismStephen Toub and Charles Torre discuss Parallelism at DevConnections 2010 as part of the Visual Studio 2010 Launch in Las Vegas.This session was recorded live as part of Channel 9 Live at the Visual Studio 2010 Launch from the Bellagio Hotel &amp; Casino on April 12th 2010.1667https://channel9.msdn.com/Blogs/NicFill/Ch9Live-at-VS2010-Launch-Stephen-Toub-on-Parallelism
Fri, 30 Apr 2010 17:19:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Ch9Live-at-VS2010-Launch-Stephen-Toub-on-ParallelismNic FillinghamNic Fillingham3https://channel9.msdn.com/Blogs/NicFill/Ch9Live-at-VS2010-Launch-Stephen-Toub-on-Parallelism/RSSCh9liveParallelismStephen ToubVisual Studio 2010Channel 9 LiveOverview of Parallel Computing in Visual Studio 2010How you can use multi-core and many-core power to increase the performance of your application flexibly – is what Parallel Computing in Visual Studio 2010. It’s flexible as it does not wait for us to change the code based on hardware power. If you are deploying
your application to single core this approach will mostly work. Here I have covered few things,

]]>https://channel9.msdn.com/Blogs/wriju/Overview-of-Parallel-Computing-in-Visual-Studio-2010
How you can use multi-core and many-core power to increase the performance of your application flexibly – is what Parallel Computing in Visual Studio 2010. It’s flexible as it does not wait for us to change the code based on hardware power. If you are deploying
your application to single core this approach will mostly work. Here I have covered few things,
. The new “Task” API
. Parallel LINQ (PLINQ)
. Parallel.ForEach
I would recommend you to visit Daniel’s talk in PDC 2008 at
https://channel9.msdn.com/pdc2008/TL26/
Stay tuned,
Wriju (http://blogs.msdn.com/wriju)
983https://channel9.msdn.com/Blogs/wriju/Overview-of-Parallel-Computing-in-Visual-Studio-2010
Fri, 19 Feb 2010 01:25:00 GMThttps://channel9.msdn.com/Blogs/wriju/Overview-of-Parallel-Computing-in-Visual-Studio-2010Wriju GhoshWriju Ghosh3https://channel9.msdn.com/Blogs/wriju/Overview-of-Parallel-Computing-in-Visual-Studio-2010/RSSParallel ComputingParallel Computing PlatformParallelismVisual Studio 2010