C++Now 2015 has ended
Please visit the C++Now website.

Log in to bookmark your favorites and sync them to your phone or calendar.

keynote [clear filter]
Tuesday, May 12

9:00am MDT

Generic Programming with Concepts

Generic programming is widely practiced in the C++ community as a means of providing efficient, reusable libraries. This style of programming is characterized by the use of templates to define data structures and algorithms in terms of template parameters that can be replaced by user-supplied types and values later. Today, C++ templates are unconstrained, meaning that any type or value could potentially be substituted for a template parameter. This is clearly not the case, since for example, taking the arithmetic mean of a sequence of strings is almost certainly meaningless. The Concepts Lite Technical Specification extends the C++ programming language with features that support the specification and checking of constraints on template arguments. This talk focuses on principles of generic programming using concepts.

avatar for Andrew Sutton

Andrew Sutton

Owner, Lock3 Software, LLC
Andrew Sutton is an owner of Lock3 Software, LLC, a software research and development company in Kent, Ohio. His spends his days working on C++ language extensions in Clang and GCC and working on various WG21 language proposals.His past work included the design, specification, and... Read More →

Tuesday May 12, 2015 9:00am - 10:30am MDT
Paepcke Auditorium
Wednesday, May 13

9:00am MDT

Numerical Weather Prediction: Facing the Future with C++

Numerical Weather Prediction (NWP) is a field that is highly data-intensive. Meteorological data is produced and processed in enormous amounts with very tight, time-critical, constraints. To produce a global forecast, millions of world-wide measurements and satellite images must be analysed and then fed into a model of the atmosphere to compute raw solution fields that are subsequently post-processed to generate millions of specialised user-driven products.

Historically, the tools and models that make up this complex chain have been hand-tuned and parallelised with MPI/OpenMP and run on special, purpose-built supercomputers. Written in monolithic Fortran, the code base for these models has become hard to maintain and difficult to adapt to rapidly evolving concurrent hardware like GPGPUs and many-core CPUs. The NWP community has started to recognise the need to embrace modern software techniques for the many-core era, with special emphasis on high-performance languages like C++ and the use of DSL's.

In a way, H. Sutter's "free-lunch" has been paid for in advance by NWP: its software models have been concurrent and distributed since the ‘90s. While there is still much work to do in model scalability, the challenges ahead also include: electrical power limits, data I/O rates, exponential volume growth, etc.

We will show how we are addressing these challenges, and present some solutions to modernise our software stack. In particular we will present a C++ DSEL inspired in functional programming, for building pipelines for parallel processing of meteorological data. Scientists with little or no knowledge of C++, can extend this DSEL to pre-process meteorological observations and post-process model output to generate meteorological products.


avatar for Tiago Quintino

Tiago Quintino

Dr. Tiago Quintino is an Analyst and Team Leader for Data Handling software development at ECMWF (European Centre for Medium-range Weather Forecasting), where he develops software for analysing, processing and storing metereological data. He holds a Master in Aerospace Engineering... Read More →

Wednesday May 13, 2015 9:00am - 10:30am MDT
Paepcke Auditorium
Thursday, May 14

9:00am MDT

Ranges for the Standard Library
Work has begun on the so-called Ranges TS, which promises to bring concept checking and range support to the standard library. In this talk, I describe the ideas behind ranges, what new idioms they enable, and where we are in the process. Come get a peek at what STL 2.0 might look like.

Conference Keynote: Ranges for the Standard Library
 ||| PPTX File

avatar for Eric Niebler

Eric Niebler

Eric Niebler is a freelance software developer, consultant, trainer and author. His specialty is C++ library and application development, with special emphasis on modern C++ techniques, and extra special emphasis on generic programming, metaprogramming, and domain-specific languages... Read More →

Thursday May 14, 2015 9:00am - 10:30am MDT
Paepcke Auditorium