DHPCC++ 2019 CONFERENCE PROGRAM
The Distributed & Heterogeneous Programming in C/C++ conference is hosted by IWOCL.
Quick Links: View IWOCL 2019 PROGRAM and PRESENTATIONS
About DHPCC++
In response to the demand for heterogeneous programming models for C/C++, and the interest in driving these models in ISO C++, Distributed & Heterogeneous Programming in C/C++ includes all the programming models that have been designed to support heterogeneous programming in C and C++. Many models now exist including SYCL, HPX, KoKKos, Raja, C++AMP, HCC, Boost.Compute, and CUDA to name a few.
This conference aims to address the needs of both HPC and the consumer/embedded community where a number of C++ parallel programming frameworks have been developed to address the needs of multi-threaded and distributed applications. The C++11/14/17 International Standards have introduced new tools for parallel programming to the language, and the ongoing standardization effort is developing additional features which will enable support for heterogeneous and distributed parallelism into ISO C++ 20/23.
DHPCC++ is an ideal place to discuss research in this domain, consolidate usage experience, and share new directions to support new hardware and memory models with the aim of passing that experience to ISO C and C++.

Asynchronous Many-task (AMT) runtime systems gain more and more acceptance for HPC applications. At the same time, the C++ standardization efforts currently focus on creating higher-level interfaces usable to replace OpenMP or OpenACC for modern C++ codes. Both trends call for a migration path for existing applications that directly or indirectly use OpenMP allowing moving parts of the code to the AMT paradigm. Additionally, an AMT implementation is not yet available for most existing highly optimized OpenMP libraries. For these reasons it is beneficial to combine both technologies, AMT+OpenMP, where the distributed communication is handled by the AMT system and the intra-node parallelism is handled by OpenMP or even combine OpenMP and the parallel algorithms. Currently, these two scenarios are not possible, since the light-weighted thread implementations present in AMTs interferes with the system threads utilized by the available OpenMP implementations. To overcome this issue, hpxMP, an implementation of the OpenMP standard, which utilizes HPX’s light-weight threads is presented. Four linear algebra benchmarks of the Blaze C++ library are utilized to compare hpxMP with clang’s OpenMP. In general, hpxMP is not able to reach the same performance yet. However, we demonstrated viability for providing a smooth migration for applications but have to be extended to benefit from a more general task-based programming model.
have rather different origin stories, they are the same goal of attempting to support high-performance parallelism in heterogeneous compute nodes. It is reassuring then, that the two models have reached similar semantics in supporting hierarchical and nested loop parallelism. This talk will describe in detail the features shared by Kokkos and SYCL, point out the fine details where similar features differ in their definition, and describe semantics that are unique to one or the other. This analysis is beneficial both as an affirmation of SYCL, which has standardized that which has been co-designed with DOE HPC applications for many years, and as a Rosetta Stone for those interested in mapping one to the other for practical purposes (such as a SYCL back-end for Kokkos).
CUDA while very popular, is not as flexible with respect to target devices as OpenCL.