Tag Archive for C++ AMP

Slides of my CppCon 2014 Presentation “Introduction to Microsoft C++ AMP”

On Monday September 8th, 2014 I gave a presentation titled “Introduction to Microsoft C++ AMP” at CppCon 2014.
The slides of my presentation can be downloaded below:


This was the first edition of CppCon and it was a great success.
Looking forward to next year’s edition 🙂

Share

CppCon 2014 Presentation

CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. Taking place this year in the beautiful Seattle neighborhood and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts.

What you can expect at CppCon:

  • Invited talks and panels: the CppCon keynote by Bjarne Stroustrup will start off a week full of insight from some of the world’s leading experts in C++. Still have questions? Ask them at one of CppCon’s panels featuring those at the cutting edge of the language.
  • Presentations by the C++ community: What do embedded systems, game development, high frequency trading, and particle accelerators have in common? C++, of course! Expect talks from a broad range of domains focused on practical C++ techniques, libraries, and tools.
  • Lightning talks: Get informed at a fast pace during special sessions of short, less formal talks. Never presented at a conference before? This is your chance to share your thoughts on a C++-related topic in an informal setting.
  • Evening events and “unconference” time: Relax, socialize, or start an impromptu coding session.

I’ll be giving a presentation myself at CppCon 2014: Introduction to C++ AMP (GPGPU Computing).

If you use C++, you should seriously consider coming to the conference.

Share

C++ AMP Presentation for KLA Tencor / ICOS

Today I gave an introduction presentation on C++ AMP for software engineers and team leads of KLA Tencor / ICOS. The presentation was almost the same as I gave on Meeting C++ in November 2013.
The slides can be downloaded below:

Share

Meeting C++ 2013 – “Introduction to Microsoft C++ AMP”

The 2013 edition of Meeting C++ was once again a great conference.
This year I gave an introduction to Microsoft C++ AMP on the conference.
The session was a great success. I estimate there were around 100 people in the room, and lots of interesting questions 🙂
After the session I read on Twitter

Awesome presentation on C++ AMP in track B. #meetingcpp

C++ AMP makes it possible to write C++ for GPUs in a STLesque fashion. #meetingcpp

Below you can download the slides of my presentation.

Share

Kate’s C++ AMP Book

Kate Gregory (a fellow VC++ MVP) has published her book called “C++ AMP: Accelerated Massive Parallelism with Microsoft Visual C++”.

The official description is as follows.

Capitalize on the faster GPU processors in today’s computers with the C++ AMP code library—and bring massive parallelism to your project. With this practical book, experienced C++ developers will learn parallel programming fundamentals with C++ AMP through detailed examples, code snippets, and case studies. Learn the advantages of parallelism and get best practices for harnessing this technology in your applications.

Discover how to:

  • Gain greater code performance using graphics processing units (GPUs)
  • Choose accelerators that enable you to write code for GPUs
  • Apply thread tiles, tile barriers, and tile static memory
  • Debug C++ AMP code with Microsoft Visual Studio®
  • Use profiling tools to track the performance of your code

Find out more about this book here.

Share

Slides of the 27th of June 2012 BeCPP Meeting

It was an honor to have Kate Gregory and Rong Lu speaking at our BeCPP meeting. A big thank you to both of you.

If you couldn’t attend the meeting in person, or if you would like to go over the slides again, you can download them from the BeCPP site.

Share

BeCPP Meeting June with International Speakers

The third meeting of the Belgian C++ Users Group is planned for Wednesday June 27th 2012 at 18:30 in the Microsoft offices in Zaventem.

There will be two presentations, and we are proud to announce that they will be given by 2 international top speakers:

  • Kate Gregory is the author of over a dozen books, and speaks at DevTeach, TechEd (USA, Europe, Africa), and TechDays, C++ Connections (with fellow speakers Herb Sutter and Bjarne Stroustrup), among others. Her speaker ratings are consistently in the top 10%. Kate is a C++ MVP, a founding sponsor of the Toronto .NET Users Group, the founder of the East of Toronto .NET Users group, a member of the INETA speakers bureau, and a member of adjunct faculty at Trent University in Peterborough. Since January 2002 she has been Microsoft Regional Director for Toronto and since January 2004 she has been awarded the Microsoft Most Valuable Professional designation for Visual C++. In June 2005 she won the Regional Director of the year award and in February 2011 she was designated Visual C++ MVP of the year for 2010. Kate develops courses on C++, Visual Studio, and Windows programming for Pluralsight and is writing a book on C++ AMP.
  • Rong Lu is a Program Manager in the Visual C++ team at Microsoft. She holds both Bachelor’s and Master’s degrees in Computer Science from Shanghai Jiaotong University. She is now working on Visual Studio vNext Application Lifecycle Management Tools for C++. Before that, she worked on the Visual Studio 2005 SDK, Visual Studio 2008 and 2010 releases, mainly responsible for designing architecture tools and SharePoint development tools. She has been a speaker at TechEd since 2007

Both are experienced speakers, and it’s a perfect opportunity for networking. If you ever wanted to ask a question to a member of the Visual C++ product team, now is your chance.

The agenda will be as follows:

  • Session 1 (18:30 – 19:30): What’s new in VC++11 (Rong Lu)
  • Break
  • Session 2 (19:45 – 20:45): C++ AMP (GPGPU Computing) (Kate Gregory)
    It is time to start taking advantage of the computing power of GPUs. C++ AMP can deliver orders of magnitude performance increase with certain algorithms by utilizing the GPU to perform mathematical calculations.
  • Drink

Microsoft is sponsoring this event by providing the location, drinks and sandwiches.

The event is free for everyone, but registration is required. Register now.
A limited number of seats are available.

( PS: If you know anyone interested in C++, please forward this invitation to them. )

Share

Double precision support in C++ AMP

Daniel Moth from the C++ AMP development team has posted an interesting blog post about double precision floating point arithmetic support in C++ AMP and its limitations on current hardware.

Read it here.

Share

Changes to the C++ AMP Specification

A while ago, I’ve posted the following posts on this blog:

Those articles were written using the Visual C++ 11 Developer Preview.

Starting with Visual C++ 11 Beta, there will be a few small changes to the C++ AMP specification compared to the C++ AMP in the Visual C++ 11 Developer Preview. Tamer Afify from the C++ AMP team explains it as follows in his blog post:

“In the Visual Studio 11 Developer Preview, C++ AMP had a grid class that was basically an extent, plus an index object representing an origin. In the Beta we have removed grid from the programming model and instead you simply use an extent. Also the tiled_grid class was removed and a tiled_extent class is introduced with the same functionality that tiled_grid provided.”

Every API that returned or accepted a grid or tiled_grid now returns or accepts an extent or tiled_extent. Most C++ AMP code can be modified with a simple find and replace operation. The find and replace operation is a bit more complicated if you have set the origin parameter of your grid to something other than the default zero index object. Check Tamer Afify blog post for more details.

Once the Visual C++ 11 Beta has been released, I will write an update for my above presentation slides and my Mandelbrot implementation.

Share

C++ AMP Open Specification Published

As promised, Microsoft has released an open specification of C++ AMP: Accelerated Massive Parallelism 🙂
This allows other compiler vendors to implement support for C++ AMP on any platform.

Read the official announcement.

Download the specification.

Share

Slides of Presentation “Introduction to Microsoft C++ AMP”

Here are the slides of my presentation on C++ AMP that I gave to software engineers at my company.


One of the demos in the presentation is a Mandelbrot renderer. This blog post describes this C++ AMP Mandelbrot renderer in more details.

Share

Mandelbrot Using C++ AMP

It is time to start taking advantage of the computing power of GPUs…

A while ago I wrote an article about how to use the Microsoft Parallel Patterns Library (PPL) to render the Mandelbrot fractal using multiple CPU cores. That article can be found here.

This new article will make the Mandelbrot renderer multiple times faster by using a new Microsoft technology called C++ AMP: Accelerated Massive Parallelism, introduced in the Visual C++ 11 Preview.

Read the rest of this entry »

Share