nwcpp.org

  • Increase font size
  • Default font size
  • Decrease font size

Welcome to the Northwest C++ Users' Group

E-mail Print PDF

The Northwest C++ Users' Group (NWCPP) is a group of professional developers and hobbyists living and working in the Pacific Northwest who meet monthly to discuss trends, techniques, and technology regarding the C++ language and industry. The group meetings and resources are free, and anyone and everyone is welcome to attend.

We are interested in C++, C, the D language, concurrency, scalability, performance, Boost, software engineering, design patterns, debugging, compilers, functional programming, software architecture, machine architecture, DSLs, embedded software, test-driven development, cross-platform development, distributed programming, and more.

Meetings

Our meetings are held at the main Microsoft campus, One Microsoft Way, Redmond, WA 98052, in Building 41/1511 (Townsend), at the corner of NE 31st and 156th Ave NE. Usually, we meet at 7pm on the third Wednesday of the month. You may need to knock on the window so that we can let you into the building.

Disclaimer: NWCPP is not associated with Microsoft—although we take advantage of their generosity in providing the venue and occasional speakers.

Past speakers at our meetings include Andrei Alexandrescu, Bruce Eckel, Steve McConnell, Scott Meyers, Alan Shalloway, Jeffrey Richter, Bobby Schmidt, Stan Lippman, Eric Niebler, Bartosz Milewski, and Herb Sutter.

Social Media

Sign up for our Announcements list, follow @nwcpp on Twitter, join our Facebook group, and join our LinkedIn group.

Seeking or offering a job? Use our LinkedIn Jobs Board.

Old Website

We have moved our website to a new host in early 2010 and started using Joomla. The old site content can be found here.

Last Updated on Thursday, 22 March 2012 16:36
 

May 2012 Meeting

E-mail Print PDF

May 16: An Introduction to Microsoft’s C++ Accelerated Massive Parallelism – Don McCrady

Come at 6:45 for pizza sponsored by Randstad Technologies.

Microsoft’s C++ AMP (Accelerated Massive Parallelism) is a C++ programming model and language extension that allows any C++ developer to take advantage of the massive parallelism available in today’s GPU’s. It offers a developer-friendly, lightweight, and portable interface that can enable programmers to achieve impressive performance boosts on a variety of hardware platforms. As an integrated part of Visual C++, it is also supported by a full suite of familiar developer tools including the editor, debugger, and profiler. This presentation will introduce C++ AMP and talk about its projected future as the hardware ecosystem evolves.

Speaker Bio

Don McCrady is the development lead for the C++ AMP project. He has worked for Microsoft for nearly 15 years in many diverse areas including COM services, workflow services, and concurrency programming models. In his spare time, he is an avid (if highly frustrated) astrophotographer and amateur astronomer.

Last Updated on Monday, 14 May 2012 11:03
 

March 2012 Meeting

E-mail Print PDF

March 21st, 2012: A Multi-Core Algorithmic Differentiation Benchmarking System — Brad Bell

The Northwest C++ Users Group is pleased to welcome Brad Bell as our speaker this month.

Please join us at 6:45 for pizza sponsored by Summit Group Solutions.

Abstract

Implementing code that is fast in a multi-core environment is one of the challenges of modern software engineering.

To meet this challenge, future Automatic Differentiation (AD) software will have to avoid excessive synchronization barriers between threads as well as manage memory efficiently.

This talk presents a benchmarking system that is being used as an aid in the development of the C++ AD software package CppAD.

Different threading systems, and different versions of this software package, are easily compared for speed of execution.

As an example of the importance of this benchmark testing, and how it has improved this software package, we compare the results for three versions of CppAD. These versions correspond to improvements in a general purpose C++ multi-threading memory allocator that is now part of the CppAD library.

Bio

Dr. Bell received his BA in math and physics from Saint Lawrence University in 1973, his MA in mathematics from the University of Washington in 1976. and his Ph.D. in mathematics from the University of Washington in 1984. Currently he is employed by the Applied Physics Laboratory of the University of Washington. Much of his current work is in collaboration with the UW School of Public Health as a member of the The Institute for Health Metrics and Evaluation . He is also the project manager for the Coin-OR Algorithmic Differentiation project CppAD . His current research is focused on statistically motivated numerical methods for scientific modeling and data analysis. This includes: algorithmic differentiation, Kalman filtering and smoothing, stochastic function estimation (Tikhonov regularization), nonlinear mixed effects estimation, optimization, and monte-carlo simulation.

Resources

Video | Slides

CppAD pages are best viewed with Firefox, as they make heavy use of MathML to display math.

CppAD homepage | multi-threading test routine | intro to theory of AD | getting started with CppAD

Last Updated on Thursday, 22 March 2012 16:49
 

April 2012 Meeting

E-mail Print PDF

April 18: Essential Skills for the Agile Developer – Alan Shalloway

Many developers have been suddenly thrown into developing code in stages whereas they used to be able to do bigger designs up front. Many people tell them to do test-driven development and emergent design while ignoring the fact that their work with legacy systems may prevent such actions. In any event, new methods require new skills – skills they don’t have time to get. At first it may appear that the required developer skill set for this new way of writing code is huge and daunting. Fortunately, it isn’t. One of the things we’ve learned at Net Objectives is that there are often a few simple things one can do that make a huge difference. We like to have people start with these trim tabs. We refer to these as trim tabs since they are small things that make a big difference. This talk introduces some trim tabs for the new agile developer.

Outline:

  • Programming by Intention
  • Separating Use from  Construction
  • Define tests Up Front
  • Shalloway’s Law
  • Encapsulate That

The lessons learned are taken from Net Objectives’ new book Essential Skills for the Agile Developer:

Speaker Bio

Alan Shalloway is the founder and CEO of Net Objectives. With over 40 years of experience, Alan is an industry thought leader in Lean, Kanban, Scrum and design patterns. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas. Alan has developed training and coaching methods for Lean-Agile that have helped his clients achieve long-term, sustainable productivity gains. He is a popular speaker at prestigious conferences worldwide. He is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented DesignLean-Agile Pocket Guide for Scrum Teams, Lean-Agile Software Development: Achieving Enterprise Agility and Essential Skills for the Agile Developer. Alan has worked in literally dozens of industries over his career. He is a co-founder and board member for the Lean Software and Systems Consortium.  He has a Masters in Computer Science from M.I.T. as well as a Masters in Mathematics from Emory University. You can follow Alan on Twitter, @alshalloway

Resources

Video | Slides

Last Updated on Monday, 23 April 2012 08:50
 

Feb 2012 Meeting

E-mail Print PDF

February 15th, 2012: Expressing Parallel Patterns in Modern C++ — Rahul V. Patil

Come at 6:30pm for pizza supplied by Amazon Digital.

The Northwest C++ Users Group is pleased to welcome Rahul V. Patil as our speaker this month. Amazon Digital is sponsoring our pizza for the meeting as well. Please join us for this meeting back in our regular room, at our regular time!

Abstract

We’ll do a lap around the most commonly applicable parallel patterns. The goal of the talk is to map each of these parallel patterns to equivalent C++ code, while taking advantage of the modern constructs in the language. We’ll demonstrate this by looking at the Parallel Patterns Library available in Visual Studio and Intel’s TBB. We’ll also look at some tools within Intel’s Parallel Studio and Microsoft’s Visual Studio that help identify, debug and analyze parallel programs.

This talk is for you, if you are looking to learn generally accepted parallel patterns and start using them in your C++ code. The talk will scale between 200 level and 400 level.

Note: The talk will not discuss C++ AMP, which deserves a full hour of its own.

Speaker Bio

Rahul V. Patil is a Lead Program Manager, in Microsoft’s C++ Parallel Computing team. He started at Microsoft 8 years ago and has been a part of the C++ concurrency runtime team since its inception.

About Rahul’s team: Parallel Computing team was founded 5 years ago with the mission of bringing programming models and tools to developers, so they may take advantage of the multi-cores and GPUs on the machine.

Video and Slides

Watch the video of Rahul's talk or read the slides.

Last Updated on Tuesday, 21 February 2012 13:16
 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  3 
  •  4 
  •  5 
  •  Next 
  •  End 
  • »


Page 1 of 5