This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
Please visit the C++Now website.
View analytic
Thursday, May 12 • 5:15pm - 6:00pm
Extending C++ with Co-Array semantics

Log in to save this to your schedule and see who's attending!

The current trend of large scientific computing problems is to to align as much as possible to Single Programming Multiple Data (or SPMD) scheme when the application's algorithms are conducive to vectorization. This reduces the complexity of code because the processors or (computation nodes) perform the same instructions, and allows for better performance as algorithms work on local data sets instead of transferring the data from one node to another. However, certain problems such as, stencils problems, demonstrate the need to move data to or from remote localities. It involves an additional degree of complexity, if only to know with which locality to interact to send/receive a given data. To solve both these two issues, Fortran has extended its scalar element indexing approach for distributed structures of elements. In this extension, a structure of element is attributed a "co-index" and lives in a specific locality. A co-index provides the application with enough information to retrieve the corresponding data reference. In C++, containers present themselves as a "smarter" alternative of Fortran arrays but there are still no corresponding features similar to the Fortran co-indexing approach. In this paper, we present an implementation of such features in HPX, a general purpose C++ runtime system for applications of any scale. We describe how the combination of the HPX concepts and new features from C ++ language makes it easy to define a high performance API similar to coarray FORTRAN.

avatar for Antoine TRAN TAN

Antoine TRAN TAN

Postdoctoral researcher, Center for Computation and Technology
I am a postdoctoral researcher in Computer Science at the Louisiana State University and work for the Ste||ar Group at the Center for Computation and Technology. I have obtained my doctor's degree in Computer Science at the University of Paris Saclay (France). My interests include parallel programming, high performance computing and C++ template metaprogramming.

Thursday May 12, 2016 5:15pm - 6:00pm

Attendees (14)