GSoC 2017 Results: Success!

It has been another STE||AR Summer of Code! This year our team had the privilege to work with some very talented students. Moreover, we are pleased to say that their work clearly showcases their potential. It has been an exciting and rewarding to watch these students submit increasingly influential contributions to our community.  Below you can read an outline of their projects which Continue reading

GD Star Rating
loading...

GSoC 17: Final documentation for Parallel algorithms 2

By taeguk (http://taeguk.me)

Abstract

HPX is “The C++ Standards Library for Concurrency and Parallelism”. So, implementing C++17 parallelism like N4409 is very important. Most of parallel algorithms are already implemented. But, still some algorithms are remained to be not implemented. My main Continue reading

GD Star Rating
loading...

GSoC 17: Final documentation for Parallel algorithms 1

By Ajai V George under the supervision of Marcin Copik

Abstract

My proposal was to implement distributed versions of STL parallel algorithms. The main focus has been on resolving as much of the pending work in  #1338 , which is about ensuring that these algorithms work seamlessly with distributed data structures like Continue reading

GD Star Rating
loading...

C++ and the Heterogeneous Challenge

As HPC shifts its long range focus from peta- to exascale, the need for programmers to be able to efficiently utilize the entirety of a machine’s compute resources has become more paramount. This has grown increasingly difficult as most of the Top500 machines utilize, in some capacity, hardware accelerators like GPUs and coprocessors which often require special languages and APIs to take advantage of them. In C++ the concept of executors, as currently discussed by the C++ standardization committee, has created a possibility for a flexible, and dynamic choice of the execution platform for various types of parallelism in C++, including the execution of user code on heterogeneous resources like accelerators and GPUs in a portable way. This will also allow to develop a solution that seamlessly integrates iterative execution (parallel algorithms) with other types of parallelism, such as task-based parallelism, asynchronous execution flows, continuation style computation, and explicit fork-join control flow of independent and non-homogeneous code paths. Continue reading

GD Star Rating
loading...

HPX and C++ Executors

By: Daniel Bourgeois

The STE||AR Group has implemented executors in HPX which, as proposed by the C++ standardization proposal called ‘Parallel Algorithms Need Executors’ (document number N4406), are objects that choose where and how a function call is completed. This is a step in the right direction for HPX and parallelism because executors give more flexibility on how and where task based work should be accomplished and gives the programmer a means to compose executors nicely with execution policies inside of algorithm implementations. Continue reading

GD Star Rating
loading...